zoukankan      html  css  js  c++  java
  • pytest 测试用例参数化时用例名称有中文名,输出控制台和HTML测试报告unicpode编码问题

    在测试用例所在目录的conftest文件中添加钩子函数pytest_collection_modifyitems(items)即可

    def pytest_collection_modifyitems(items):
        """
        测试用例收集完成时,将收集到的item的name和nodeid的中文显示在控制台上
        :return:
        """
        for item in items:
            # 只需要对中括号内的数据做一个编码转换即可,防止因为测试用例本身就是中文导致编码再出问题
            names = item.name.split("[")
            nodeids = item.nodeid.split("[")
            if len(names) > 1:
                item.name = names[0] + "[" + names[-1].encode("utf-8").decode("unicode_escape")
            if len(nodeids) > 1:
                # 报告里用例名称用的是nodeis所以nodeid也需要转换一下
                item._nodeid = nodeids[0] + "[" + nodeids[-1].encode("utf-8").decode("unicode_escape")
    

      

  • 相关阅读:
    团队作业四
    团队作业五
    团队作业三
    团队作业二
    起名真麻烦
    网络桌面前景与范围文档
    PSP软件需求分析文档
    psp软件需求分析
    psp个人系统开发需求分析
    天猫网站的项目前景与文档
  • 原文地址:https://www.cnblogs.com/hchan/p/12974322.html
Copyright © 2011-2022 走看看