国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python+requests+unittest API接口測試實例(詳解)

2020-02-16 01:41:14
字體:
供稿:網(wǎng)友

我在網(wǎng)上查找了下接口測試相關(guān)的資料,大都重點是以數(shù)據(jù)驅(qū)動的形式,將用例維護在文本或表格中,而沒有說明怎么樣去生成想要的用例,

問題:

測試接口時,比如參數(shù)a,b,c,我要先測a參數(shù),有(不傳,為空,整形,浮點,字符串,object,過短,超長,sql注入)這些情況,其中一種情況就是一條用例,同時要保證b,c的正確,確保a的測試不受b,c參數(shù)的錯誤影響

解決思路:

符合接口規(guī)范的參數(shù)可以手動去填寫,或者準備在代碼庫中。那些不符合規(guī)范的參數(shù)(不傳,為空,整形,浮點,字符串,object,過短,超長,sql注入)也可以準備在庫中作為常量反復(fù)使用

主要實現(xiàn)的功能點:

1.api參數(shù)整理到dict中,方便組合參數(shù)生成用例

2.對生成的用例進行循環(huán)執(zhí)行

3.封裝些許代碼便于使用和維護

源碼分析:

canshuxinxi.py文件用來存放api接口信息。以dict形式存放,這樣就可以API_ALL['登錄接口'][url]這種方式去取,看起來較直觀,知道取得是哪個接口的那部分信息。

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time  : 2017-06-09 14:09# canshuxinxi.py# 接口信息API_ALL = {      '登錄接口': {              'number': '1',              'url': 'http://www.baidu.com',              'leixing': 'post',              'head': {                    'aa': 'bb',                    'cc': 'dd',                    },              'canshu': {                    'username': 'Wbfxs001',                    'password': '111111Qq',                    'grant_type': 'password',                  },              'qiwang': {                    'code': 200,                    'name': 'Wbfxs001',                    },            },      '退出接口': {              'number': '1',              'url': 'http://www.baidu.com',              'leixing': 'get',              'canshu': {                    'username': 'Wbfxs001',                    'password': '111111Qq',                    'grant_type': 'password',                   }      }}

changliang.py文件用來存非常規(guī)(可能會讓接口響應(yīng)異常)參數(shù),同理也是存放在dict中,方便維護,比如以后要加新的sql注入代碼段,可以直接在后面添加

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time  : 2017-06-09 14:09# changliang.py# 常用參數(shù)不傳,為空,整形,浮點,字符串,object,過短,超長,sql注入objects1 = 'xxxx'objects2 = 'ssss'ZHCS = {      '為空': [''],      '整形': [10, 23, 44, 88, 99],      '浮點': [1.11, 2.342, -1.03],      '字符串': ['aaaa', 'bbbb', 'cccc','dddd'],      'object': [objects1, objects2],      '過短': ['1', '0'],      '超長': ['11111111111111111111111111111111111111111111111'],      'sql注入': [';and 1=1 ;and 1=2', ";and (select count(*) from sysobjects)>0 mssql", ";and 1=(select IS_SRVROLEMEMBER('sysadmin'));--"],     }            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 仁布县| 昌黎县| 四平市| 马山县| 宁海县| 沅江市| 太和县| 东至县| 昌图县| 新乐市| 临桂县| 文安县| 江口县| 清徐县| 钟山县| 呼图壁县| 祁东县| 抚顺市| 九台市| 丹巴县| 邢台市| 特克斯县| 利川市| 金乡县| 额济纳旗| 和平县| 盈江县| 蒙自县| 韩城市| 山阳县| 汪清县| 武陟县| 吉首市| 花垣县| 新泰市| 锦屏县| 屏东市| 沛县| 芦溪县| 灯塔市| 新野县|