1、airtest生成的报告只显示airtest的相关操作,如果是poco和airtest-selenium的操作则不记录。因此需要在报告中引用插件。
- 支持poco语句插件,
poco.utils.airtest.report
- 支持airtest-selenium语句插件,
airtest_selenium.report
2、在IDE运行 .py
脚本报告生成的依据是脚本运行时保存的log内容,所以我们在运行 .py
脚本时,必须要保存log内容,否则后续将生成无log内容的airtest报告,即空的报告。那么我们就需要设置log的路径并传给logdir。
log_path=r"D:\lianxi\airtest_study\report" auto_setup(__file__,logdir=log_path)
在用例的最后面需要引用报告插件,plugins
。
3、如果是生成简单的报告,只需在脚本中调用接口simple_report()。
simple_report(filepath, logpath=True, logfile='log.txt', output='log.html')
对应参数:
filepath
,脚本文件的路径,可以直接传入变量__file__
logpath
,log内容所在路径,如为True
,则默认去当前脚本所在路径找log内容logfile
,log.txt的文件路径output
,报告的到处路径,必须以.html
结尾
4、如果需要记录poco和airtest-selenium的操作,则需要使用LogToHtml类。
class LogToHtml(script_root, log_root='', static_root='', export_dir=None, script_name='', logfile='log.txt', lang='en', plugins=None)
对应参数:
script_root
,脚本路径log_root
,log文件的路径static_root
,部署静态资源的服务器路径export_dir
,导出报告的存放路径script_name
,脚本名称logfile
,log文件log.txt的路径lang
,报告的语言(中文:zh;英文:en)plugins
,插件,记录poco或者airtest-selenium操作
5、生成的报告如下:
# -*- encoding=utf8 -*- __author__ = "Zoe"from airtest.core.api import * from airtest.report.report import simple_report,LogToHtml from poco.drivers.android.uiautomation import AndroidUiautomationPocopoco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)log_path=r"D:\lianxi\airtest_study\report"auto_setup(__file__,logdir=log_path)start_app("tv.danmaku.bili") sleep(4.0)poco(text="首页").wait_for_appearance()assert_equal(poco(text="首页").exists(),True,"断言进入首页")poco(text="我的").click()poco(text="账号密码登录").wait_for_appearance()poco(text="账号密码登录").click()poco(text="账号密码登录").wait_for_appearance()assert_equal(poco(text="账号密码登录").exists(),True,"断言进入登录页")# 生成包含poco脚本的Airtest报告 h1 = LogToHtml(script_root=__file__, log_root=log_path, lang='zh', plugins=['poco.utils.airtest.report']) h1.report(output_file=r"D:\lianxi\airtest_study\report\poco_report.html")