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: geturl: https://api.oioweb.cn/api/common/teladressdata:mobile: 1889090787validate: null
-feature: 電話測試模塊story: 獲取電話歸屬地接口title: 非常規電話號碼歸屬地信息測試request:method: geturl: https://api.oioweb.cn/api/common/teladressdata:mobile: 00000validate: null