尝试联系任何主持人时开始接收:
[1] pry(main)> require "selenium-webdriver"
=> true
[2] pry(main)> driver = Selenium::WebDriver.for :remote, :url => "http://xxx.xxx.xxx.xxx:3001/wd/hub/", :desired_capabilities => :iphone
=> #<Selenium::WebDriver::Driver:0x..fb1a8bc1a0f688d1c browser=:iPhone>
[3] pry(main)> driver.get "http://google.com"
Timeout::Error: Timeout::Error
from /Users/apple/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/protocol.rb:146:in `rescue in rbuf_fill'
先决条件: - 只有真实设备,iOS模拟器上没有错误 - 最新版本的iPhoneDriver / Selenium Webdriver,iOS5 / iOS6 - 尝试了几个单元(Mac OS)并遇到同样的问题 - 几天前用于工作 - 不知道会发生什么 - 不会在类似代码上的Andoid上重现
答案 0 :(得分:0)
当出现某种网络连接问题时,通常会发生这种情况。有可能你的iphone运行得太慢,无法应对selenium脚本。 所以增加超时。
试试这个
client = Selenium::WebDriver::Remote::Http::Default.new
client.timeout = 180 # Increase the time if it takes longer to connect to the remote device
driver = Selenium::WebDriver.for :remote, :url => "http://xxx.xxx.xxx.xxx:3001/wd/hub/", :desired_capabilities => :iphone, :http_client => client