这里是超级初学者。尝试使用Ruby更新这个测试--我正在进行的课程--使用下面的内容,这是不推荐的。
driver = Selenium::WebDriver.for :remote, desired_capabilities: :firefox当我试图运行测试时,我在cmd中遇到的错误是
“不推荐将:desired_capabilities作为驱动程序初始化的参数。如果有必要,请使用:功能数组值的功能/选项。”
因此,我试图找到如何抑制这个链接中提到的错误的例子,但是我很难找到如何实现该错误的示例。
我还试图查找几种仅仅使用功能的方法:正如建议的那样,但我也很难找到相应的资源,所以我只是四处乱搞,尝试了不同的组合,但都没有用。
好奇是否有人知道什么能帮我找到答案?
还查看了这些消息来源
基于最后一个链接,我认为下面应该有效吗?但我相信我只是遗漏了一些语法上的东西。
driver = Selenium::WebDriver.for :Remote::Capabilities.firefox
发布于 2022-05-10 17:34:35
Selenium功能在Ruby中并不适用。现在,您希望完全避免使用功能。
以下是Selenium文档中关于如何正确使用选项的前/后示例:4/#之前
它与其他Selenium语言的工作方式不匹配,因此我计划更改Selenium4.3中的弃语,以使它们匹配。
发布于 2022-05-10 17:41:50
# spec/rails_helper.rb
Capybara.server = :puma, { Silent: true }
Capybara.server_port = 9887
Capybara.register_driver :headless_chrome do |app|
options = ::Selenium::WebDriver::Chrome::Options.new.tap do |opts|
opts.args << '--headless'
opts.args << '--disable-site-isolation-trials'
opts.args << '--no-sandbox'
end
options.add_preference(:download, prompt_for_download: false, default_directory: Rails.root.join('tmp/capybara/downloads'))
options.add_preference(:browser, set_download_behavior: { behavior: 'allow' })
service_options = ::Selenium::WebDriver::Service.chrome(
args: {
port: 9515,
read_timeout: 120
}
)
remote_caps = Selenium::WebDriver::Remote::Capabilities.chrome(
'goog:loggingPrefs': {
browser: ENV['JS_LOG'].to_s == 'true' ? 'ALL' : nil
}.compact
)
Capybara::Selenium::Driver.new(
app,
browser: :chrome,
capabilities: [remote_caps, options],
service: service_options,
timeout: 120
)
end
Capybara::Screenshot.register_driver(:headless_chrome) do |driver, path|
driver.browser.save_screenshot(path)
end
Capybara.javascript_driver = :headless_chrome我希望这对你有帮助。
https://stackoverflow.com/questions/72190419
复制相似问题