gpt4 book ai didi

尝试自动化时,Android 驱动程序抛出错误

转载 作者:太空宇宙 更新时间:2023-11-03 11:14:18 25 4
gpt4 key购买 nike

我正在尝试为移动浏览器实现自动化,使用 selenium(Android 驱动程序)和 ruby​​ 脚本,这是相同的示例脚本

require 'selenium-webdriver'
require "selenium/client"
caps = Selenium::WebDriver::Remote::Capabilities.android
client = Selenium::WebDriver::Remote::Http::Default.new
client.timeout = 480
driver = Selenium::WebDriver.for(
:remote,
:url => "http://localhost:8080/wd/hub/",
:http_client => client,
:desired_capabilities => caps)
driver.navigate.to "http://www.google.com"
element = driver.find_element(:name, 'q')
element.send_keys "Example google"
element.submit
puts driver.title
driver.quit

它执行到sendkeys的步骤,但是在那之后,它抛出错误,捕获的错误是

EOFError: end of file reached
from C:/Ruby200/lib/ruby/2.0.0/net/protocol.rb:153:in `read_nonblock'
from C:/Ruby200/lib/ruby/2.0.0/net/protocol.rb:153:in `rbuf_fill'
from C:/Ruby200/lib/ruby/2.0.0/net/protocol.rb:134:in `readuntil'
from C:/Ruby200/lib/ruby/2.0.0/net/protocol.rb:144:in `readline'
from C:/Ruby200/lib/ruby/2.0.0/net/http/response.rb:39:in `read_status_l
ine'
from C:/Ruby200/lib/ruby/2.0.0/net/http/response.rb:28:in `read_new'
from C:/Ruby200/lib/ruby/2.0.0/net/http.rb:1406:in `block in transport_r
equest'
from C:/Ruby200/lib/ruby/2.0.0/net/http.rb:1403:in `catch'
from C:/Ruby200/lib/ruby/2.0.0/net/http.rb:1403:in `transport_request'
from C:/Ruby200/lib/ruby/2.0.0/net/http.rb:1376:in `request'
from C:/Ruby200/lib/ruby/2.0.0/net/http.rb:1369:in `block in request'
from C:/Ruby200/lib/ruby/2.0.0/net/http.rb:852:in `start'
from C:/Ruby200/lib/ruby/2.0.0/net/http.rb:1367:in `request'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.35.1/lib/s
elenium/webdriver/remote/http/default.rb:83:in `response_for'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.35.1/lib/s
elenium/webdriver/remote/http/default.rb:39:in `request'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.35.1/lib/s
elenium/webdriver/remote/http/common.rb:40:in `call'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.35.1/lib/s
elenium/webdriver/remote/bridge.rb:634:in `raw_execute'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.35.1/lib/s
elenium/webdriver/remote/bridge.rb:612:in `execute'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.35.1/lib/s
elenium/webdriver/remote/bridge.rb:428:in `submitElement'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.35.1/lib/s
elenium/webdriver/common/element.rb:179:in `submit'
from (irb):14
from C:/Ruby200/bin/irb:12:in `<main>'irb(main):015:0> puts driver.title

我还尝试了 IRB 中的所有命令,以确认它不是由于超时异常。请建议,到底是什么问题以及如何从移动浏览器自动化中的这种场景中克服。

提前致谢:)

最佳答案

我在针对真实设备和模拟器(尽管在不同点)进行自动化时遇到 EOF 错误。

解决方案是卸载新的 android-server-2.32.0.apk 并安装旧版本的 android-server-2.21.0.apk。

关于尝试自动化时,Android 驱动程序抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19095544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com