1、使用@pytest.mark装饰器执行分组测试
pytest.ini中配置用例标记(例如:配置smoke:冒烟。表示只执行带有smoke标记的用例,smoke的描述自定义,这里定义为冒烟)
markers =
smoke:冒烟
给test_hh方法加上标记@pytest.mark.fixture,表示只执行test_hh方法
class Test_01:
def test_city(self):
print("上海")
@pytest.mark.smoke
def test_hh(self):
print("北京")
if __name__ == '__main__': # 如果是直接从当前模块执行(非别的模块调用本模块)
pytest.main(['-vs',"test_hh2.py"])
命令行输入pytest -m "smoke" test_hh2.py,执行结果:只执行了带有标记的测试用例,另一条用例忽略
如果要执行多个标记,则在pytest.ini中配置多行标记,执行的时候命令行用or连接关键字
如果要执行所有文件中带相同标记的用例,则不需要写文件路径,命令直接写pytest -m "smoke"
2、pytest的断言
主要分为状态断言(响应码)、业务断言(返回的值),多个断言之间用and连接。
断言某个键的值 ,如: rep.request()[‘errcode’]==0
断言某个值在响应中,如:assert ‘a’ in rep.json