pytest结合yaml实现数据驱动

一、yaml的使用说明

#定义yaml,读取操作

https://www.cnblogs.com/zwx901323/p/16541786.html

二、pytest框架数据驱动方式说明

import pytest

class Testfirst:
    @pytest.mark.parametrize("caseinfo", [1,2,3]) #方式一:单个值
    def test_main1(self,  caseinfo):
        print(f"测试主程序1:{caseinfo}") #源于yield传参信息

    @pytest.mark.parametrize("name, age", [["tom","22"],["jerry", "33"]])
    def test_main2(self, name, age):   #方式二:多个值
        print(f"测试程序2:{name}+{age}" ) #传参使用

if __name__ == '__main__':
    pytest.main()

三、框架搭建

 

#文件一:new.yaml
-
  name: 获取接口的token鉴权码
  request:
    method: get
    url: https://www.baidu.com
    headers: none
    params:
      type: client_credential
      appid: id
      secret: 88888888
  validate_assert_data: none

#文件二:读取操作
def read_yaml():
    with open("new.yaml", "r+", encoding="utf-8") as f:
        data = yaml.safe_load(stream=f)
        return data
if __name__ == '__main__':
    read_yaml()
"""
[{'name': '获取接口的token鉴权码', 'request': {'method': 'get', 'url': 'https://www.baidu.com', 'headers': 'none', 'params': {'type': 'client_credential', 'appid': 'id', 'secret': 88888888}}, 'validate_assert_data': 'none'}]
"""

 

posted @ 2022-08-01 22:59  zwx901323  阅读(271)  评论(0)    收藏  举报