Pytest自动化框架,实现自动化测试用例与测试数据分离方法:
1.测试用例数据准备,使用yaml文件编辑,如下述teladress.yaml
2.通过pytest框架装饰器@pytest.mark.parametrize实现测试数据传参
示例:
测试用例文件:test_mobile.py
@pytest.mark.mobile
@pytest.mark.parametrize("caseinfo",read_yaml_testcase(os.path.dirname(__file__)+'/teladress.yaml'))
def test_teladress01(self,caseinfo):
method = caseinfo['request']['method']
url = caseinfo['request']['url']
data=caseinfo['request']['data']
re = requests.request(method,url=url,params=data)
code = re.json()['code']
write_yaml({'code': code})
assert code == 200
测试数据文件:teladress.yaml
- feature: 电话测试模块 story: 获取电话归属地接口 title: 能成功获取任意电话号码归属地信息 request: method: get url: https://api.oioweb.cn/api/common/teladress data: mobile: 1889090787 validate: null
- feature: 电话测试模块 story: 获取电话归属地接口 title: 非常规电话号码归属地信息测试 request: method: get url: https://api.oioweb.cn/api/common/teladress data: mobile: 00000 validate: null