2017-06-01 7 views
1

Robotframeworkを使用してWebテストを作成しました。 Jenkinsでテストを実行しようとすると、開始時にクロムドライバがクラッシュするため、テストが失敗します。Jenkinsで一度実行したChromedriverがクラッシュする

WebDriverException:これは私が受け取るメッセージですメッセージ:不明なエラー:Chromeが起動に失敗しました:

: (chromedriver = 2.29.461585(0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b)、プラットフォーム=マック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環境として動作しているのですか、それとも別のOS(Linux、Windowsなど)のサーバーで動作していますか? Jenkinsでは、スレーブノードのテストを実行していますか、またはサーバー自体でテストしていますか?また、JenkinsがRobot Frameworkテストを開始するために使用しているコマンドと、手動でテストを実行するために使用するコマンドを提供できますか? –

+0

あなたの返事をありがとう、JenkinsはMacで動作しており、ジョブはスレーブノード上で実行されています。 私は同じコマンドを実行しています。 'robot sanity.robot' –

答えて

0

あなたはジェンキンスさんは、このテストを実行して行っているものをOS上で手の込んだていただけますか?このコードでは、webdriver.chrome.driverをWindows .exeに設定しているため、ローカルマシンがWindowsであることが示唆されていますか?これは、LinuxとMacマシンでは機能しません。

LinuxおよびWindowsでヘッドレスChromeを実行するためのマニュアルはhereです。

PS:Headless Chromeは、すぐにChrome 59でLinuxとMacに登場しますが、SeleniumとSelenium-chromeドライバでもサポートされるまで少し時間がかかります。

+0

私はMacマシンをJenkinsのスレーブとして使用しているので、実際にはこれは間違いですが返信いただきありがとうございます(しかし、とにかくchromeriverを実行しています) –

関連する問題