【发布时间】:2016-10-19 17:33:56
【问题描述】:
目前在我的 Ruby on Rails 应用程序中,黄瓜测试正在使用 capybara gem 并使用 selenium 运行。
最近在系统更新到 Ubuntu 16.04 后,测试开始失败并出现 EOFError: end of file reached 错误
另外,偶尔还会出现如下错误。
session not created exception
from unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData": "frameId":"14314.1","isDefault":true},"id":1,"name":"","origin":"://"}
(Session info: chrome=54.0.2840.59)
(Driver info: chromedriver=2.21.371461 (633e689b520b25f3e264a2ede6b74ccc23cb636a),platform=Linux 4.4.0-43-generic x86_64) (Selenium::WebDriver::Error::SessionNotCreatedError)
This question 也指类似的东西,但带有 minitest。
我认为这是水豚env.rb 文件的相关部分:
require 'cucumber/rails'
require 'capybara'
require 'capybara/cucumber'
require 'capybara-screenshot'
require 'capybara-screenshot/cucumber'
require 'rails/test_help'
require 'minitest/rails'
require 'mocha/mini_test'
require 'headless'
require 'selenium-webdriver'
require 'rack_session_access/capybara'
require 'webmock/cucumber'
WebMock.allow_net_connect!
include Sprig::Helpers
ActionController::Base.allow_rescue = false
Dir.mkdir('test_result') unless File.exist?('test_result')
# Remove/comment out the lines below if your app doesn't have a database.
# For some databases (like MongoDB and CouchDB) you may need to use :truncation instead.
begin
DatabaseCleaner.strategy = :truncation, { only: [] }
DatabaseCleaner.clean_with :truncation, { only: [] }
rescue NameError
raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it."
end
Capybara.register_driver :selenium do |app|
client = Selenium::WebDriver::Remote::Http::Default.new
client.timeout = 15
Capybara::Selenium::Driver.new(app, browser: :chrome, http_client: client)
end
Capybara.default_driver = :selenium
Capybara.javascript_driver = :selenium
Capybara.raise_server_errors = true
Capybara.default_selector = :css
Capybara.default_max_wait_time = 15
Capybara.save_and_open_page_path = 'tmp/capybara'
我查看了一个看起来相关的thread in the capybara-webkit gem,但我实际上并没有使用 webkit。
任何帮助将不胜感激。
【问题讨论】:
-
将您的 chromedriver 升级到最新版本 - 2.24
-
@TomWalpole 这让我走上了正确的道路。我对原始帖子进行了编辑。谢谢你的帮助,我快疯了。
标签: selenium capybara eof ubuntu-16.04