0

我最近開始使用 - > RemoteWebDriver + AndroidDriver。我已經開始與一個基本的例子如下:RemoteWebDriver + AndroidDriver:與瀏覽器通信錯誤

stmt1:WebDriver driver=new AndroidDriver(); 
stmt2:driver.get("http://www.google.com"); 
stmt3:WebElement element = driver.findElement(By.name("q")); 
stmt4:element.sendKeys("Cheese!"); 

「stmt1」,「stmt2」打開google.com成功地在模擬器上。 的問題是,「stmt3」 &「stmt4」不工作.Emulator關閉的webdriver和日食發生以下情況除外:

org.openqa.selenium.WebDriverException: Error communicating with the remote browser. It may have died. 
Build info: version: '2.12.0', revision: '14666', time: '2011-11-10 18:36:18' 
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_33' 
Driver info: driver.version: RemoteWebDriver 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:412) 
    at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:205) 
    at org.openqa.selenium.remote.RemoteWebDriver.findElementByName(RemoteWebDriver.java:254) 
    at org.openqa.selenium.By$ByName.findElement(By.java:286) 
    at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:197) 
    at androidpackage.Androidclass$1.apply(Androidclass.java:24) 
    at androidpackage.Androidclass$1.apply(Androidclass.java:1) 
    at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:189) 
    at androidpackage.Androidclass.testAndroid(Androidclass.java:34) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at junit.framework.TestCase.runTest(TestCase.java:168) 
    at junit.framework.TestCase.runBare(TestCase.java:134) 
    at junit.framework.TestResult$1.protect(TestResult.java:110) 
    at junit.framework.TestResult.runProtected(TestResult.java:128) 
    at junit.framework.TestResult.run(TestResult.java:113) 
    at junit.framework.TestCase.run(TestCase.java:124) 
    at junit.framework.TestSuite.runTest(TestSuite.java:232) 
    at junit.framework.TestSuite.run(TestSuite.java:227) 
    at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 
Caused by: org.apache.http.NoHttpResponseException: The target server failed to respond 
    at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:101) 
    at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:252) 
    at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:281) 
    at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:247) 
    at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:219) 
    at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:298) 
    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125) 
    at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:645) 
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:464) 
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820) 
    at org.openqa.selenium.remote.HttpCommandExecutor.fallBackExecute(HttpCommandExecutor.java:391) 
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:370) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:398) 
    ... 27 more 

回答

0

問題是我使用了android 2.3.3(薑餅上的bug可能導致WebDriver崩潰)。在升級到android 4.0.3時,代碼運行良好。

0

從堆棧跟蹤,似乎你的硒版本是2.12.0。當前版本是2.25.0。可能使用最新版本可以解決問題。

+0

好的一點你可以看到在2.12和2.25之間有關於android的變化。閱讀更新日誌。 – user1258245 2012-07-17 07:22:13

+0

這不是使用2.24的問題,我得到相同的錯誤日誌 – Mandy 2012-07-17 08:32:38

相關問題