使用LogToHtml导出Airtest报告

simple_report接口,是个简化版的生成报告接口,如果仅仅需要在本地查看的话,用这个接口即可。

但是如果需要导出报告,即他人也可以正常查看,则需要用LogToHtml类。

参数解释

  • script_root,脚本路径

  • log_root,log文件的路径

  • static_root,部署静态资源的服务器路径

  • export_dir,导出报告的存放路径

  • script_name,脚本名称

  • logfile,log文件log.txt的路径

  • lang,报告的语言(中文:zh;英文:en)

  • plugins,插件,使用了poco或者airtest-selenium会用到

一个示例

        try:
            touch(Template(r"tpl1672296367401.png", record_pos=(0.417, -0.3), resolution=(720, 1600)))

        except Exception as e:
            raise Exception('错误,退出')

        finally:
            now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
            report_path_name = now + '_' + self.__class__.__name__
            log_path = os.path.join(os.path.dirname(__file__), 'log')
            output_path = os.path.join(config_data.ROOT_DIR, 'report', report_path_name)
            tmp = LogToHtml(script_root=__file__, log_root=log_path,
                           export_dir=output_path, logfile=os.path.join(log_path, 'log.txt'), lang='en',
                           plugins=None)
            tmp.report()

script_root,是脚本路径,即py文件路径

log_root,是日志路径,这里设计成跟脚本同路径

logfile,日志文件名

export_dir,是报告导出路径

lang,设置为英文

这样把整个文件夹2022-12-29-18_24_24_LoginTest发给别人,别人即可查看报告log.html。

文件夹里有运行日志,静态资源文件,图片,报告是根据日志生成的。

但是现在有个问题,每个用例每次运行时都导出报告时都会生成static静态资源文件,整个文件占8M多!!!下面就处理整个问题

静态资源统一放到服务器

我把static文件放在nginx上做静态服务器,nginx安装和配置文件见我另一篇文章:

nginx安装、配置文件详解、测试_nginx测试配置文件_木瓜星灵的博客-CSDN博客nginxhttps://blog.csdn.net/qq_38312411/article/details/126768772把static文件上传到nginx根目录,我的是/usr/share/nginx

vhost下新增配置文件

server {
	listen 81;
	server_name localhost;


	location / {
	root static;
	index log.html;
	}
}

最后的示例

 now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
            report_path_name = now + '_' + self.__class__.__name__
            log_path = os.path.join(os.path.dirname(__file__), 'log')
            output_path = os.path.join(config_data.ROOT_DIR, 'report', report_path_name)
            tmp = LogToHtml(script_root=__file__, log_root=log_path, static_root='http://192.168.38.33:81/',
                           export_dir=output_path, logfile=os.path.join(log_path, 'log.txt'), lang='en',
                           plugins=None)
            tmp.report()

static_root传我们的静态服务器地址后,导出的报告就没有静态文件了!节约了很大一块磁盘空间!!!

猜你喜欢

转载自blog.csdn.net/qq_38312411/article/details/129048010