命令行运行脚本
Airtest 能够允许直接在命令行运行,不需要通过AirtestIDE界面启动浏览器也能运行测试脚本,脚本执行完毕后依然可以查看html测试报告。这对某些情况不需要起界面或者无界面的环境,依然可以在命令行下运行。
首先,需要启动AirtestIDE界面,在脚本头部添加导入chrome headless库并进行配置的代码,也可以设置windows窗口大小,代码如下:
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('window-size=1344x768')
chrome_options.add_argument("headless")
driver = WebChrome(chrome_options=chrome_options)
其次,Windows系统,在命令行工具里(cmder/cmd)执行如下面代码行:
D:airtest_pythonAirtestIDE_2018-11-06_py3_win64AirtestIDE_2018-11-06_py3_win64AirtestIDE.exe runner D:airtest_pythonhire_web.air --log D:airtest_pythonscreenshotcommandlog
“D:airtestpythonAirtestIDE2018-11-06py3win64AirtestIDE2018-11-06py3win64AirtestIDE.exe”为AirtestIDE编辑器解压的所在目录,runner是运行可执行文件的命令,“D:airtestpythonhire_web.air”为web界面自动化测试项目所在的目录文件,--log 输出脚本执行日志,可以指定日志所在目录。
需要提醒的是,目录起名尽量避免使用特殊字符空格什么的,可能会引起麻烦转义失败之类的,万一已经使用了不得已那只能用双引号括起来;另外,命令行里项目文件路径结尾不要,不然会无效参数错误
但是,因为测试报告是在脚本执行完成后,查看时IDE另外生成的,所以这样执行下来并没有html的测试报告,因此,最后还需要通过命令跑一次生成测试报告,执行如下的代码行:
D:airtest_pythonAirtestIDE_2018-11-06_py3_win64AirtestIDE_2018-11-06_py3_win64AirtestIDE reporter D:airtest_pythonjobcreated.air --log_root D:/airtest_python/screenshotlogdemo02 --outfile D:/airtest_python/screenshotlogdemo02log.html --static_root D:airtest_pythonAirtestIDE_2018-11-06_py3_win64AirtestIDE_2018-11-06_py3_win64airtestreport --lang zh --plugin airtest_selenium.report poco.utils.airtest.report
AirtestIDE解压目录路径 reporter 测试项目文件目录 --logroot 日志指定目录 --outfile html测试报告目录文件 --staticroot AirtestIDE解压后report目录 --lagn zh 显示中文 --plugin airtest_selenium.report poco.utils.airtest.report
生成报告需贴图需要最后那2个插件才能正常完成显示。虽然不起界面,但是浏览器该下载该渲染的还是得做,所以headless运行实际效率并没有提高很多。