Robot Framework自动化测试----浏览器的无头(headless)模式和命令行运行脚本
1、浏览器的无头(headless)模式最近因为想把rf的脚本集成到jenkins上去,所以就在研究一些相关的方法,根据以往的经验和请教别人再结合我们现有的jenkins job主要准备分几个步骤:1)在jenkins所在的服务器上安装运行RF脚本的必要软件;2)把rf的脚本转换成为headless运行3)在jenkins 的job中配置写pipeline或者命令行4)构件jenkins查了一些资
1、浏览器的无头(headless)模式
最近因为想把rf的脚本集成到jenkins上去,所以就在研究一些相关的方法,根据以往的经验和请教别人再结合我们现有的jenkins job主要准备分几个步骤:
1)在jenkins所在的服务器上安装运行RF脚本的必要软件;
2)把rf的脚本转换成为headless运行
3)在jenkins 的job中配置写pipeline或者命令行
4)构件jenkins
查了一些资源也自己实践了一下总算实现了headless运行rf脚本并且不影响截图:
chrome的headless设置如下:
chrome_headless
[Arguments] ${url}
${proxy}= Evaluate selenium.webdriver.chrome.options.Options() modules=selenium,selenium.webdriver
call Method ${proxy} add_argument --headless
call Method ${proxy} add_argument --disable-gpu
#call Method ${proxy} add_argument --disable-infobars #禁止浏览器上“自动化控制程序”的弹出框
Create Webdriver Chrome chrome_options=${proxy}
set window size 1000 800
Maximize Browser Window
go to ${url}
firefox的headless设置如下:
firefox_headless
[Arguments] ${url}
${proxy}= Evaluate selenium.webdriver.firefox.options.Options() modules=selenium,selenium.webdriver
call Method ${proxy} add_argument --headless
call Method ${proxy} add_argument --disable-gpu
#call Method ${proxy} add_argument --disable-infobars #浏览器上自动化控制的弹出框
Create Webdriver Firefox firefox_options=${proxy}
set window size 1000 800
#Maximize Browser Window
go to ${url}
常用参数设置:
--window-size=1366,768有问题可以直接使用set window size 1000 800
chrome和firefox运行结果都没有问题,但是有以下两个问题:
1)chrome运行bim功能测试中3dviewer的过程,日志,截图都没有问题,运行GIS场景相关的测试脚本截图中没有看到模型,查阅很多资料通过zoomin到模型中、设置屏幕尺寸都没有解决;
2)于是就使用firefox试了一下,发现GIS的相关脚本截图没有问题可以显示相应的模型,但是脚本跑不通,后面自己在控制台试了一下,才发现firefox浏览器的控制台要点【运行】那个按钮才能执行js脚本,网上说是因为selenium和firefox版本不一致导致的
3)今天又试了半天本来以为是chrome版本的问题,结果发现是因为等待时间过短(之前没考虑到这一点是因为一直认为无头模式应该比有头模式等待时间更短才对,现实讲明可能要更长一点);另外无头模式中设置分辨率也会让GIS场景中的等待时间更长,最好直接把浏览器设置成最大,反而会缩短等待时间。
2、命令行运行rf脚本:
1)首先要定位到项目代码所在的目录,打开cmd窗口
2)执行相关的命令:
robot -d C:\Users\******\Desktop --test 测试用例名称 E:\script\robotframework\automation-jssdk\JSSDK_Auto\Script\TestCases\测试集名称.robot
其中-d 代表把log.html、report.html、output.xml这三个文件就保存到C:\Users\******\Desktop目录;
--test 测试用例名称 测试集名称 代表执行指定测试集中的测试用例
其它的命令参数 可以通过robot --help查询尝试
更多推荐
所有评论(0)