本文共 1753 字,大约阅读时间需要 5 分钟。
接口测试的核心要素:发送接口请求→解析接口响应→检验接口测试结果。
之前常用的简单测试用例,举个栗子:
import requests def test_login(): url = http://www.senbaba.cn method =POST headers = {'content-type': 'application/json', 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko', 'Accept':'application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*', 'Accept-Language':'zh-CN'} data = {"uname":"18888888888","pwd":"123456"} resp = requests.request(method,url,headers=headers,data=data) #解码json格式数据 dicts=json.loads(a.text) code=a.status_code #对比返回值 self.assertEqual(code,200) self.assertEqual(dicts['status'],'ok') self.assertEqual(dicts['error'],None)
使用yaml让代码和用例分离,举个梨子:
yaml配置
name: loginrequest: url: http://www.senbaba.cn/login method: POST headers: Accept: application/json, text/javascript, */*; q=0.01 X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 Referer: http://www.senbaba.cn/loginpage Accept-Encoding: gzip, deflate, sdch Accept-Language: zh-CN,zh;q=0.8 json: uname: "1888888888" pwd: "123456"validators: - {"check": "status_code","expeted":200}python代码
# /usr/bin python#coding=utf-8import yaml,requests,jsond = open('testcase.yaml')e = yaml.load(d)request = e['request']name = e['name']method = request['method']url = request['url']headers = request['headers']data = request['json']re = requests.request(method,url,headers=headers,data=data)上面两种接口测试的功能都是一样的,但是有没有感觉使用yaml维护起来更简单高效呢
转载地址:http://utwpi.baihongyu.com/