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}")

 

httprunner3 log放到allure中显示

上一篇:在使用pytest时配置文件中的注释报错了! UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 13: illegal multibyte sequence 【已解决】


下一篇:中国开发者利好消息