Я получаю следующую ошибку при использовании селеновых веб-драйверов на heroku. (rspe c -> капибара-> селен)
Net::ReadTimeout: Net::ReadTimeout with #<TCPSocket:(closed)>
У меня есть heroku-buildpack-google-chrome
buildpack, с webdrivers-gem.
и следующий блок в spe c настройка:
chrome_shim = ENV.fetch("GOOGLE_CHROME_SHIM", nil)
Selenium::WebDriver::Chrome.path = chrome_shim
chrome_opts = { "chromeOptions" => { "binary" => chrome_shim } }
Capybara.register_driver :selenium do |app|
Capybara::Selenium::Driver.new(
app,
browser: :chrome,
desired_capabilities: Selenium::WebDriver::Remote::Capabilities.chrome(chrome_opts)
)
end
Capybara.javascript_driver = :headless_chrome
Webdrivers.logger.level = :DEBUG
выход здесь https://gist.github.com/IanVaughan/3e0c50d2fa4a60e672b96f6726fbbb8c
capybara (3.30.0)
webdrivers (4.2.0)
selenium-webdriver (3.142.7)
Полная трассировка стека: https://gist.github.com/IanVaughan/09b31613833d965ee4f3b7d1e48fd1e2
Спектр c Я бегу:
RSpec.feature 'User signup flow', :js do
scenario 'Visits home page to signup' do
visit root_path
new_window = window_opened_by { click_link 'Sign Up', match: :first }
within_window new_window do
expect(page).to have_text('New Enquiry', wait: 5)
end
end