Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium webdriver 在Heroku上使用webdrivers selenium获取读取超时_Selenium Webdriver_Heroku_Rspec_Capybara_Webdrivers Gem - Fatal编程技术网

Selenium webdriver 在Heroku上使用webdrivers selenium获取读取超时

Selenium webdriver 在Heroku上使用webdrivers selenium获取读取超时,selenium-webdriver,heroku,rspec,capybara,webdrivers-gem,Selenium Webdriver,Heroku,Rspec,Capybara,Webdrivers Gem,在heroku上使用selenium webdrivers时,出现以下错误。(rspec->水豚->硒) Net::ReadTimeout:Net::ReadTimeout与# 我有heroku buildpack谷歌chromebuildpack和webdriversgem 并在等级库设置中具有以下块: chrome\u shim=ENV.fetch(“GOOGLE\u chrome\u shim”,nil) Selenium::WebDriver::Chrome.path=Chrome\u

在heroku上使用selenium webdrivers时,出现以下错误。(rspec->水豚->硒)

Net::ReadTimeout:Net::ReadTimeout与#
我有
heroku buildpack谷歌chrome
buildpack和webdriversgem

并在等级库设置中具有以下块:

chrome\u shim=ENV.fetch(“GOOGLE\u chrome\u shim”,nil)
Selenium::WebDriver::Chrome.path=Chrome\u
chrome_opts={“chromeOptions”=>{“binary”=>chrome_shim}
Capybara.register|u驱动程序:selenium do|app|
水豚::硒::Driver.new(
应用程序,
浏览器::chrome,
所需的功能:Selenium::WebDriver::Remote::capabilities.chrome(chrome\u选项)
)
结束
Capybara.javascript\u驱动程序=:headless\u chrome
Webdrivers.logger.level=:调试
输出在此处

完整堆栈跟踪:

我运行的规范是:

RSpec.feature‘用户注册流’,:js do
场景“访问主页注册”执行
访问根路径
新建窗口=通过{单击链接'注册',匹配::第一个}打开的窗口
在窗口内新建窗口吗
期望(第页)。有_文本(“新查询”,等待:5)
结束
结束

如果超时发生在您的应用程序第一次请求期间,而应用程序一次性执行某些操作(编译资产等),则您可能需要增加允许的读取超时

Capybara.register_driver :selenium do |app|
    Capybara::Selenium::Driver.new(
      ...
      timeout: 60 # defaults to 30 IIRC
    )
end

可能在无头模式下,Cookie在30秒后被清除

在chrome选项中添加此选项,并在其有效时重试:)


放置实际使用的gems版本-设置限制(capybara>=2.15)实际上并没有告诉我们您使用的是什么版本(同时放置selenium webdriver版本)。你什么时候会发现这个错误?显示stacktrace。@ThomasWalpole感谢您指出这一点,很好的一点,我已经按照要求添加了gem版本。并添加了完整的堆栈跟踪。stacktrace selenium挂起试图获取窗口句柄的欢呼声——这意味着chromedriver/chrome问题——你能展示你的整个测试场景来确认没有奇怪的事情发生吗?@ThomasWalpole我已经添加了规范!听起来像一个chromedriver bug-检查chromedriver项目问题好主意,但很奇怪,因为本地测试在3秒内运行。在Heroku上运行时,它会等待很长时间,大约一分钟,然后失败。我尝试了这个超时设置,但没用,干杯我们遇到了同样的问题@IanVaughan,你解决了吗?你试过上面Kiran的建议了吗?超级烦人,不过对我们来说只是断断续续的。
Capybara.register_driver :selenium do |app|
    Capybara::Selenium::Driver.new(
      ...
      timeout: 60 # defaults to 30 IIRC
    )
end
--enable-features=NetworkService,NetworkServiceInProcess