Selenium::WebDriver::Error::WebDriverError:返回的有效负载中没有 sessionId

问题描述 投票:0回答:1

使用 Rspec 和 Capybara 的测试套件到目前为止都是成功的,但我突然收到该错误消息,而没有编写任何新规范:

` 失败/错误:访问 root_path

 Webdrivers::VersionError:
   Unable to find latest point release version for 115.0.5790. You appear to be using a non-production version of Chrome. Please set `Webdrivers::Chromedriver.required_version = <desired driver version>` to a known chromedriver version: https://chromedriver.storage.googleapis.com/index.html`

所以我将 selenium-webdriver 更新到 4.11.0(并删除了 webdrivers gem)

但现在我得到了这个错误:

`失败/错误:访问root_path

 Selenium::WebDriver::Error::WebDriverError:
   no sessionId in returned payload`

Rails 7.0.6 红宝石 3.2.2

`Capybara.register_driver :chrome_headless 做 |app| 选项 = Selenium::WebDriver::Chrome::Options.new

options.add_argument("--enable-features=NetworkService,NetworkServiceInProcess")
options.add_argument("--ignore-certificate-errors")
options.add_argument("--proxy-server=#{Billy.proxy.host}:#{Billy.proxy.port}")
options.add_argument("--disable-gpu") if Gem.win_platform?
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--window-size=1400,1400")
options.add_argument("--headless=new")
options.add_preference("intl.accept_languages", "en-US,en")
options.add_argument("--lang=en-US")
options.add_argument("--time-zone-for-testing=Europe/Paris")

Capybara::Selenium::Driver.new(
    app,
    browser: :chrome,
    options:,
    clear_local_storage: true,
    clear_session_storage: true
)

结束

Capybara.configure |config| config.javascript_driver = :chrome_headless 结束`

google-chrome selenium-webdriver rspec capybara google-chrome-headless
1个回答
0
投票

按照该文档更新 chromedriver: 如何在 Mac 上安装 Chrome 驱动程序

在此处下载最新版本: Chrome 测试可用性

© www.soinside.com 2019 - 2024. All rights reserved.