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种解决办法:

  1. 在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")
  1. 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接口自动化测试框架 | pytest获取执行数据pytest禁用插件

pytest接口自动化测试框架 | pytest常用运行参数

pytest接口自动化测试框架 | pytest之fixture介绍