我正在尝试在OSX笔记本电脑上运行Jenkins的RF / Selenium2Library测试。默认情况下,Jenkins作为用户“ jenkins”安装。我已经安装了用于Jenkins的RF插件并设置了环境变量,除了浏览器从未打开(firefox或chrome)都无法正常运行,并且一切正常之外,测试都因selenium超时而失败,并指出此类元素从未出现。
我的直觉是,我需要在某个地方设置显示变量,以使浏览器正确打开。
这是我从詹金斯(Jenkins)的“ execute shell”命令执行的此项目:
来源/Users/Shared/Jenkins/.bash_profile; pybot -b /用户/共享/詹金斯/robot_output/dbug.log -i SMOKE01 -d /用户/共享/詹金斯/ robot_output / /用户/ KWHome / Dev / PycharmProjects / BHI / Tests; 出口0
再次,Selenium似乎认为浏览器已在某个位置打开,并等待初始元素出现,但它们从未这样做,因为实际上没有打开浏览器。我是Jenkins的新手,非常感谢您对了解这里发生的事情的任何建议。
添加:
这是从Jenkins构建后创建的jenkins用户dbug日志的一些输出:
20140719 21:28:23.914 - INFO - Opening browser 'firefox' to base url 'https://staging.azzi-mvconnects.com/' 20140719 21:28:27.273 - DEBUG - Opened browser with session id a2414ad7-f523-7441-8a54-dd5c68f4049b 20140719 21:28:27.274 - INFO - +----- END KW: Selenium2Library.Open Browser (3360) 20140719 21:28:27.274 - INFO - +----- START KW: Selenium2Library.Maximize Browser Window [ ] 20140719 21:28:27.415 - INFO - +----- END KW: Selenium2Library.Maximize Browser Window (141) 20140719 21:28:27.416 - INFO - +----- START KW: Selenium2Library.Wait Until Element Is Visible [ ${home_login_button} ] 20140719 21:28:32.500 - INFO - +------ START KW: Selenium2Library.Capture Page Screenshot [ ] 20140719 21:28:32.909 - INFO - </td></tr><tr><td colspan="3"><a href="selenium-screenshot-1.png"><img src="selenium-screenshot-1.png" width="800px"></a> 20140719 21:28:32.909 - INFO - +------ END KW: Selenium2Library.Capture Page Screenshot (409) 20140719 21:28:32.910 - FAIL - Element 'ctl00_LoginLink' was not visible in 5 seconds
浏览器似乎已“打开”,但从未出现在桌面上。我尝试在运行pybot的命令前放置“ DISPLAY =:0”,但没有更改。
如果您的Jenkins作业需要运行显示GUI的内容,则无法在Jenkins中运行作为后台服务运行的构建(无论是在Windows,Mac还是Linux上)。
(在Linux中,您可以使用Xvnc或类似的假X服务器玩花样,甚至还有Jenkins插件使之更简单。)
您可以选择以下任一方法:
java -jar /path/to/jenkins.war