之前搭建一套RF+jenkins+svn的自动化构建项目,过程中遇到不少问题,但大多数网络上都有解决。主要有几个比较特殊的问题一直比较困扰。现将其总结如下:
一、chrome浏览器访问权限问题:
由于jenkins远程访问Windows环境,Windows权限问题又不太了解的情况下在执行机环境上默认安装完成chrome浏览器后使用jenkins构建任务失败,提示:
WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
等等问题,看似没有webdriver,其实是jenkins执行时候找不到chromedriver或者把driver和浏览器配套不起来
解决办法:
1、直接将chrome.exe和chromedriver.exe放在同一目录,通常为chrome安装路径下的application目录下。
2、将存放chrome.exe和chromedriver.exe的目录添加入执行机环境变量
3、将上步中环境变量全部以键值对的方式配置到执行节点配置中,如下图:点击执行节点→节点后的齿轮然后配置
二、验证码识别分辨率问题
我们web自动化有验证码识别的步骤,识别思想是截图后然后识别。但当jenkins执行时发现验证码截图位置和本机调试的完全不同。识别后验证码都显示为空。
解决办法:适配jenkins执行环境脚本。
三、jenkins远程执行时浏览器不打开会不会影响执行结果,如截图识别之类的UI脚本。
答案是:不影响脚本执行过程,但因为更换执行环境web自动化会存在大量不可预期的问题
解决办法:尽量减少web自动化脚本数量,用接口实现功能。如果避免不了,尽可能少用定位坐标类操作。