Pytest-parametrize实现测试用例与测试数据分离

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

猜你喜欢

转载自blog.csdn.net/qq_30068487/article/details/136384498