2017-08-02 1688 views
3

我硒3.0.1「移動」我的應用程序3.4.0,現在我得到這個 例外,當我嘗試設置implicitlyWait硒3.4.0 /超時()implicitlyWait

import java.util.concurrent.TimeUnit; 
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); 

我我得到以下異常

the exception is org.openqa.selenium.WebDriverException: setTimeouts 

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
at java.lang.reflect.Constructor.newInstance(Unknown Source) 
org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:150) 
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:115) 
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:45) 
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:164) 
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82) 
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:637) 
at org.openqa.selenium.remote.RemoteWebDriver$RemoteWebDriverOptions$RemoteTimeouts.implicitlyWait(RemoteWebDriver.java:868) 
at test.com.gmv.esaccsop.testCases.CCSTest.<init>(CCSTest.java:76) 
at test.com.gmv.esaccsop.selen.TC_CAA.caaTests(TC_CAA.java:78) 
at test.com.gmv.esaccsop.selen.TC_CAA.CAA_001(TC_CAA.java:59) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) 
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) 
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) 
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) 
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) 
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) 
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:69) 
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:48) 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:292) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) 

我已創建一個簡單的程序,I'm得到同樣的錯誤org.openqa.selenium.WebDriverException:一個定時器,

,鴕鳥政策易懂ND這個..

package test.com.gmv.esaccsop.selen; 

import java.util.concurrent.TimeUnit; 

import org.junit.Test; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 

public class test2 { 

    @Test 
    public void openyahooTest() { 
      System.setProperty("webdriver.gecko.driver", "c:/geckodriver/18-64/geckodriver.exe"); 
     WebDriver driver = new FirefoxDriver(); 
     System.out.println("after Init the driver"); 

     driver.get("http://localhost:8080/web/guest"); 
     System.out.println("after get localhost "); 


     try 
     { 
      driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); 
     } 
     catch (org.openqa.selenium.WebDriverException e) 
     { 
      e.printStackTrace(); 
     } 
     System.out.println("after wait "); 
     WebElement title = driver.findElement(By.xpath("//title")); 


    System.out.println("*" + title.getAttribute("text") + "*"); 

    System.out.println("********************************************************"); 

    driver.quit(); 

} 

}

I'm得到同樣的錯誤

after Init the driver 
after get localhost 
ago 03, 2017 10:54:00 AM org.openqa.selenium.remote.ErrorCodes toStatus 
INFO: HTTP Status: '404' -> incorrect JSON status mapping for 'unknown error' (500 expected) 
org.openqa.selenium.WebDriverException: setTimeouts 
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown' 
System info: host: 'PCAADR', ip: '172.19.13.14', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_121' 
Driver info: org.openqa.selenium.firefox.FirefoxDriver 
Capabilities [{rotatable=false, raisesAccessibilityExceptions=false, appBuildId=20160604131506, version=47.0, platform=XP, proxy=Proxy(), command_id=1.0, specificationLevel=0.0, acceptSslCerts=false, browserVersion=47.0, platformVersion=6.1, XULappId={ec8030f7-c20a-464f-9b0e-13a3a9e97384}, browserName=Firefox, takesScreenshot=true, takesElementScreenshot=true, javascriptEnabled=true, platformName=Windows_NT, device=desktop}] 
Session ID: f4eac62c-021a-4227-b050-9b82e2c5e3fa 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:150) 
    at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:115) 
    at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:45) 
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:164) 
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:637) 
    at org.openqa.selenium.remote.RemoteWebDriver$RemoteWebDriverOptions$RemoteTimeouts.implicitlyWait(RemoteWebDriver.java:868) 
    at test.com.gmv.esaccsop.selen.test2.openyahooTest(test2.java:29) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) 
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) 
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) 
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:69) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:48) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:292) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 
+1

你能顯示代碼也? – sForSujit

+0

看看這些代碼:'在test.com.gmv.esaccsop.testCases.CCSTest。 (CCSTest.java:76) 在test.com.gmv.esaccsop.selen.TC_CAA.caaTests(TC_CAA.java:78) 在test.com.gmv.esaccsop.selen.TC_CAA.CAA_001(TC_CAA.java: 59)'事實,** ** implicitlyWait在'org.openqa.selenium.WebDriver'其中如'TimeUnit.SECONDS'在'java.util.concurrent.TimeUnit'只被定義定義。我想你錯過了其中一個提到的文件中的'org.openqa.selenium.WebDriver'。謝謝 – DebanjanB

回答

1

刪除此行 - driver.manage()超時()implicitlyWait(5,。 TimeUnit.SECONDS); 那麼它應該工作的罰款。

對於我們並不需要指定超時

+0

你能否給這個信息的來源/文件?沒有找到任何相關的。謝謝 –