标签:.__ log self httprunner3 allure path config
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}")
标签:.__,log,self,httprunner3,allure,path,config 来源: https://www.cnblogs.com/erchun/p/15233423.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。