pytest接口自动化测试框架 | parametrize中ids的用法
Posted COCOgsta
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest接口自动化测试框架 | parametrize中ids的用法相关的知识,希望对你有一定的参考价值。
视频来源:B站《冒死上传!pytest接口自动化测试框架(基础理论到项目实战及二次开发)教学视频【软件测试】》
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:pytest接口自动化测试框架 | 汇总_COCOgsta的博客-CSDN博客
import pytest
@pytest.mark.parametrize('a,b,c', [(1,1,1),(2,2,0),(3,3,1),(4,4,0)],
ids=['用例一','用例二','用例三','用例四'])
def test_1(a,b,c):
print(a,b,c)
if __name__ == '__main__':
pytest.main(['-v','-s', 'test_ids.py'])
ids参数用例描述有中文编码问题,2种解决办法:
- 在conftest中使用pytest_collection_modifyitems钩子函数,对输出的item.name和item.nodeid重新编码。
def pytest_collection_modifyitems(items):
'''
测试用例收集完成时,将收集到的item的name和nodeid的中文显示在控制台上
'''
for item in items:
item.name = item.name.encode("utf-8").decode("unicode_escape")
print(item.nodeid)
item._nodeid = item.nodeid.encode("utf-8").decode("unicode_escape")
- pytest.ini
[pytest]
disable_test_id_escaping_and_forfeit_all_rights_to_community_support = True
以上是关于pytest接口自动化测试框架 | parametrize中ids的用法的主要内容,如果未能解决你的问题,请参考以下文章
pytest接口自动化测试框架 | pytest生成简单测试报告
pytest接口自动化测试框架 | 基于Pytest的Web UI自动化测试框架介绍
pytest接口自动化测试框架 | pytest获取执行数据pytest禁用插件