2017-06-01 62 views
1

我已经使用Robotframework创建了Web测试。 一旦我试图与詹金斯运行测试,测试失败,由于启动chromedriver崩溃。这是我收到的消息:一旦运行Jenkins,Chromedriver崩溃

WebDriverException:消息:未知错误:Chrome浏览器无法启动:坠毁 (驾驶员信息:chromedriver = 2.29.461585(0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b),平台=的Mac OS X 10.12.4 x86_64的)

尝试手动运行它,一切正常。

这是一个减少代码我运行:

*** Test Cases *** 
Test Sanity Setup 
    [Tags] Sanity 
    ${chrome_options} =  Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver 
    ${prefs} Create Dictionary credentials_enable_service=${false} 
    Call Method ${chrome_options} add_experimental_option prefs ${prefs} 
    Call Method ${chrome_options} add_argument --disable-infobars 
    Call Method ${chrome_options} add_argument --kiosk 
    Create WebDriver Chrome  chrome_options=${chrome_options} 
Go to URL 
    Go To ${URL} 


Finalize Tests 
    close all browsers 


*** Keywords *** 
Provided precondition 
Setup chromedriver 
    Set Environment Variable webdriver.chrome.driver ./driver/chromedriver.exe 
+0

也许问题是我必须使用无头浏览器,因为我在远程机器上运行Jenkins 仍在研究这种方式... –

+0

为了帮助我们,我们需要了解更多有关您的设置。 Jenkins是在您自己的桌面上作为PoC环境运行,还是运行在具有不同操作系统(Linux,Windows等)的服务器上?在詹金斯,你是在运行一个从节点的测试,还是在服务器本身上?您还可以提供Jenkins用于启动Robot Framework测试的确切命令,当然也可以提供您用于手动运行测试的命令吗? –

+0

谢谢您的回复,Jenkins正在Mac上运行,并且作业在从节点上执行。 在这两种情况下,我都运行相同的命令: 'robot sanity.robot' –

回答

0

能否请您阐述一下您有詹金斯运行这个测试什么操作系统?该代码建议您的本地计算机是Windows,因为您将webdriver.chrome.driver设置为Windows .exe?这在Linux和Mac机器上不起作用。

在Linux和Windows上运行Headless Chrome的手册可以在here找到。

PS:Headless Chrome即将在Chrome 59上推出Linux和Mac,但在Selenium和Selenium-chrome驱动程序也支持它之前需要一点时间。

+0

谢谢你的回复,实际上这是错误的,因为我使用Mac机作为Jenkins奴隶(但它仍然运行着chromedriver) –