2017-02-02 13 views
0

Ubuntu VMで動作するようにセレンテストを正しく設定する方法がわかりません。 私はEclipse IDEを持っているWindowsでは、正しく動作します。ここ はtestNGclassのJavaコードの一部です:JavaプロジェクトでSelenium Chromedriverのタイムアウト問題が発生する

@BeforeClass(alwaysRun = true) 
    public void setUp() throws Exception { 


     if (SystemUtils.IS_OS_LINUX)  
      System.setProperty("webdriver.chrome.driver", "/usr/bin/selenium/chromedriver/chromedriver"); 

     if(SystemUtils.IS_OS_WINDOWS) 
      System.setProperty("webdriver.chrome.driver", ""+System.getProperty("user.dir").toString()+"/lib/chromedriver.exe"); 
     driver = new ChromeDriver();   

    System.out.println(System.getProperty("portletToTest")); 
    baseUrl = "http://www.google.it"; 
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 
    } 
    @Test 
    public void test() throws Exception { 
     driver.get(baseUrl + "/"); 

私は入れませんエラーが(ローカルホストのポートを除いて:、私はそれを実行するたびに異なる)TestNGのレポートから、このです

org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start. 
Build info: version: 'unknown', revision: '1969d75', time: '2016-10-18 09:43:45 -0700' 
System info: host: 'esvn', ip: '192.168.5.182', os.name: 'Linux', os.arch: 'amd64', os.version: '3.5.0-54-generic', java.version: '1.8.0_121' 
Driver info: driver.version: ChromeDriver 
    at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:178) 
    at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:166) 
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:78) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601) 
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:241) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:128) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:141) 
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:174) 
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:163) 
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:120) 
    at Automation.profileuserportlet.setUp(Unknown Source) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104) 
    at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:515) 
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:217) 
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:144) 
    at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:169) 
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108) 
    at org.testng.TestRunner.privateRun(TestRunner.java:756) 
    at org.testng.TestRunner.run(TestRunner.java:610) 
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:387) 
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:382) 
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340) 
    at org.testng.SuiteRunner.run(SuiteRunner.java:289) 
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) 
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1293) 
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1218) 
    at org.testng.TestNG.runSuites(TestNG.java:1133) 
    at org.testng.TestNG.run(TestNG.java:1104) 
    at org.testng.TestNG.privateMain(TestNG.java:1434) 
    at org.testng.TestNG.main(TestNG.java:1403) 
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:17352/status] to be available after 20008 ms 
    at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:107) 
    at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:175) 
    ... 34 more 
Caused by: com.google.common.util.concurrent.UncheckedTimeoutException: java.util.concurrent.TimeoutException 
    at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:143) 
    at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:80) 
    ... 35 more 
Caused by: java.util.concurrent.TimeoutException 
    at java.util.concurrent.FutureTask.get(FutureTask.java:205) 
    at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:130) 
    ... 36 more 

私はLinuxでchromedriverファイルのパスを確認しましたが、それは問題ありません。ファイルには実行可能な権限があります。 Linuxマシンでchromedriverを実行する必要がありますか?コンパイル済みのJavaプロジェクトを実行する以外に何かする必要がありますか?

答えて

0

あなたのクロームドライバは、クロムブラウザと一致する正しいバージョンを持つ必要があります。

関連する問題