如何使用Ruby中的Safari技术预览设置Capybara

我无法使用Capybara和Selenium与Safari技术预览(STP)建立会话。 Capybara甚至不打开浏览器窗口。

我升级到Ruby 2.3.0 Capybara 2.14.2 Selenium 3.4.0
我从https://developer.apple.com/safari/download/下载并安装了STP
我想使用以下代码:

Capybara.register_driver :selenium do |app| Capybara::Selenium::Driver.new( app, browser: :safari ) end Capybara.default_driver = :selenium 

如何初始化Capybara以使用已实施W3C自动化标准的STP safaridriver?

为了实现这一点,我使用了以下代码:

  #This is what we use to test the Safari release channel. #You will have to install Safari Technology Preview (STP) from Apple. #see standard properties here: https://www.w3.org/TR/webdriver/#capabilities #STP requires a capabilities object #you could use any of the properties from the link above. #I just used a accept_insecure_certs for the heck of it desired_caps = Selenium::WebDriver::Remote::Capabilities.safari( { accept_insecure_certs: true } ) Capybara.register_driver :selenium do |app| Capybara::Selenium::Driver.new( app, browser: :safari, driver_path: '/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver', desired_capabilities: desired_caps ) end Capybara.default_driver = :selenium