EOFError:文件结尾已到达Android Ruby Webdriver

EOFError:文件结尾已到达Android Ruby Webdriver,android,ruby,selenium-webdriver,watir-webdriver,Android,Ruby,Selenium Webdriver,Watir Webdriver,我用一个Android模拟器运行了下面的程序,它运行正常,我用一个真正的Android设备(经过测试的三星Galaxy S3和HTC Wildfire)进行了尝试,我得到了 EOFError:已到达文件结尾 我使用的是64位Windows 7 Professional gem list 显示 除其他外 我在Android 4.1.2模拟器、真正的三星Galaxy S3和真正的HTC Wildfire S中运行了以下程序。模拟器工作正常,其他两个以同样的方式失败 命令行: >adb shell

我用一个Android模拟器运行了下面的程序,它运行正常,我用一个真正的Android设备(经过测试的三星Galaxy S3和HTC Wildfire)进行了尝试,我得到了 EOFError:已到达文件结尾

我使用的是64位Windows 7 Professional

gem list 
显示

除其他外

我在Android 4.1.2模拟器、真正的三星Galaxy S3和真正的HTC Wildfire S中运行了以下程序。模拟器工作正常,其他两个以同样的方式失败

命令行:

>adb shell am start-a android.intent.action.MAIN-n org.openqa.selenium.android.app/.MainActivity

开始:Intent{act=android.Intent.action.MAIN cmp=org.openqa.selenium.android.app/.MainActivity}

>adb转发tcp:8090 tcp:8080

然后Ruby:

require 'selenium/client'
require 'watir-webdriver'
capabilities = Selenium::WebDriver::Remote::Capabilities.android
client = Selenium::WebDriver::Remote::Http::Default.new
driver = Selenium::WebDriver.for(:remote,:url=>'http://localhost:8090/wd/hub',:http_client=>client,:desired_capabilities=>capabilities)
driver.navigate.to('http://www.google.co.uk')
element = driver.find_element(:name, 'q')
然后用真正的设备崩溃

EOFError: end of file reached
from C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:141:in `read_nonblock'
from C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:141:in `rbuf_fill'
from C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:122:in `readuntil'
from C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:132:in `readline'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:2562:in `read_status_line'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:2551:in `read_new'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1319:in `block in transport_request'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1316:in `catch'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1316:in `transport_request'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1293:in `request'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1286:in `block in request'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:745:in `start'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1284:in `request'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/http/default.rb:83:in `response_for'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/http/default.rb:39:in `request'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/http/common.rb:40:in `call'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/bridge.rb:634:in `raw_execute'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/bridge.rb:612:in `execute'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/bridge.rb:580:in `find_element_by'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/common/search_context.rb:42:in `find_element'
from (irb):19
from C:/Ruby193/bin/irb:12:in `<top (required)>'
from -e:1:in `load'
from -e:1:in `<main>'>> 
EOFError:已到达文件结尾
from C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:141:in'read_nonblock'
from C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:141:in'rbuf_fill'
from C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:122:in'readuntil'
from C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:132:in'readline'
从C:/Ruby193/lib/ruby/1.9.1/net/http.rb:2562:in'read\u status\u line'
来自C:/Ruby193/lib/ruby/1.9.1/net/http.rb:2551:in'read\u new'
来自C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1319:in'block in transport_request'
来自C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1316:in'catch'
来自C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1316:“传输请求”中的
来自C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1293:in'request'
来自C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1286:in'block in request'
来自C:/Ruby193/lib/ruby/1.9.1/net/http.rb:745:in'start'
来自C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1284:in'request'
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/http/default.rb:83:“response_for”
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/http/default.rb:39:“请求”中
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/http/common.rb:40:in'call'
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/bridge.rb:634:in'raw_execute'
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/bridge.rb:612:in'execute'
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/bridge.rb:580:in'find_element_by'
来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/common/search_context.rb:42:in'find_element'
来自(irb):19
来自C:/Ruby193/bin/irb:12:in`'
from-e:1:in“load”
from-e:1:in`'>>

我尝试过使用用户代理运行的真实完整测试,也尝试在实际的Android设备上运行(也通过了emulator并在真实设备上出错),但上面的示例是我可以找到的最简单的错误。

您没有提到您正在运行的Android服务器的版本

在运行新版安卓服务器(android-server-2.32.0.apk)时,我在emulator和real设备上都得到了EOF错误,但在不同的点上

我使用以前版本的安卓服务器(android-server-2.21.0.apk)解决了这个问题。我的测试现在正在运行,没有错误

EOFError: end of file reached
from C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:141:in `read_nonblock'
from C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:141:in `rbuf_fill'
from C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:122:in `readuntil'
from C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:132:in `readline'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:2562:in `read_status_line'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:2551:in `read_new'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1319:in `block in transport_request'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1316:in `catch'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1316:in `transport_request'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1293:in `request'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1286:in `block in request'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:745:in `start'
from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1284:in `request'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/http/default.rb:83:in `response_for'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/http/default.rb:39:in `request'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/http/common.rb:40:in `call'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/bridge.rb:634:in `raw_execute'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/bridge.rb:612:in `execute'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/remote/bridge.rb:580:in `find_element_by'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.35.1/lib/selenium/webdriver/common/search_context.rb:42:in `find_element'
from (irb):19
from C:/Ruby193/bin/irb:12:in `<top (required)>'
from -e:1:in `load'
from -e:1:in `<main>'>>