阅读 141

httprunner3 log放到allure中显示

httprunner3的log本身是不能在allure上展示的

可以通过改写\Lib\site-packages\httprunner\runner.py文件中的test_start方法实现报告存放allure中展示

添加一行

allure.attach.file(self.__log_path, name=‘log‘, attachment_type=allure.attachment_type.TEXT)

改写代码如下:

 def test_start(self, param: Dict = None) -> "HttpRunner":
        """main entrance, discovered by pytest"""
        self.__init_tests__()
        self.__project_meta = self.__project_meta or load_project_meta(
            self.__config.path
        )
        self.__case_id = self.__case_id or str(uuid.uuid4())
        # self.__log_path = self.__log_path or os.path.join(
        #     self.__project_meta.RootDir, "logs", f"{self.__case_id}.run.log"
        # )
        self.__log_path = os.path.join(self.__project_meta.RootDir, "logs", "{}.txt".format(time.time()))
        log_handler = logger.add(self.__log_path, level="DEBUG")

        # parse config name
        config_variables = self.__config.variables
        if param:
            config_variables.update(param)
        config_variables.update(self.__session_variables)
        self.__config.name = parse_data(
            self.__config.name, config_variables, self.__project_meta.functions
        )

        if USE_ALLURE:
            # update allure report meta
            allure.dynamic.title(self.__config.name)
            allure.dynamic.description(f"TestCase ID: {self.__case_id}")

        logger.info(
            f"Start to run testcase: {self.__config.name}, TestCase ID: {self.__case_id}"
        )

        try:
            return self.run_testcase(
                TestCase(config=self.__config, teststeps=self.__teststeps)
            )
        finally:
            allure.attach.file(self.__log_path, name=log, attachment_type=allure.attachment_type.TEXT)
            logger.remove(log_handler)
            logger.info(f"generate testcase log: {self.__log_path}")

 

原文:https://www.cnblogs.com/erchun/p/15233423.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐