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传我们的静态服务器地址后,导出的报告就没有静态文件了!节约了很大一块磁盘空间!!!