'在rbuf_fill'救援导航到主机[iPhoneDriver + Selenium Webdriver + Ruby]时

时间:2012-12-12 17:07:42

标签: ios ruby selenium webdriver

尝试联系任何主持人时开始接收:

[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上重现

1 个答案:

答案 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