1、用例设计规则
(1)unittest测试类必须继承unittest.TestCase;
(2)unittest测试函数必须以“test_”开头,测试类也可以由‘Test’开头;
(3)unittest测试类必须有unittest.main()方法
(4)pytest测试函数必须以“test”开头,测试类命名必须以”Test”开头,测试文件的文件名必须以”test_”开头,或者以”_test”结尾
(5)pytest测试类里面不能使用”init”方法
2、参数化
(1)pytest常用参数方式
parametrize数据驱动
用到装饰器@pytest.mark.parametrize(args_name,args_value),args_name代表变量名,args_value代表需要测试的数据。
import pytest
class Test05:
@pytest.mark.parametrize("args_name", ['百里','婉儿','露露'])
def test_get_token(self,args_name):
print('测试参数'+args_name)
yaml驱动
1)创建yaml文件如下:
-
name: 获取token接口1
request:
method: get
data:
name: 百里
age: 18
url: https://www.baidu.com
validate: None
-
name: 获取token接口2
request:
method: get
data:
name: 婉儿
age: 17
url: https://www.baidu.com
validate: None
2)添加读取yaml的工具类yaml_util.py
import yaml
def read_yaml(yaml_path):
with open(yaml_path,encoding='utf‐8') as f:
value = yaml.load(f,Loader=yaml.FullLoader)
return value
3)用例读取数据
import pytest
from commons.yaml_util import read_yaml
class Test05:
@pytest.mark.parametrize("args", read_yaml("./testcase/test_05.yaml"))
def test_get_token(self,args):
print(args)
print(args['request']['date']['name'])