Phiên bản Chrome: 59.0.3071.104Cách sử dụng chrome không đầu với capybara và selenium
Sử dụng dưa chuột, Capybara, Selenium để thực hiện kiểm tra tự động hóa bằng Chrome không đầu.
features/support/env.rb
require 'rubygems'
require 'capybara/cucumber'
Capybara.register_driver :selenium_chrome do |app|
Capybara::Selenium::Driver.new(app, :browser => :chrome, args: ['headless'])
end
Capybara.default_driver = :selenium_chrome
Khi chạy một thử nghiệm dưa chuột, nó nói:
WARN Selenium [DEPRECATION] :args or :switches is deprecated. Use Selenium::WebDriver::Chrome::Options#add_argument instead.
là gì cách chính xác để sử dụng Capybara và selen với Headless Chrome. Cảm ơn bạn.
CHỈNH SỬA 1: Tôi đã thử các cách sau bằng cách sử dụng Ruby-Binding, Capybara và Working Example. Nhưng nó cũng gây ra lỗi.
require 'rubygems'
require 'capybara/cucumber'
require 'selenium-webdriver'
Capybara.register_driver :selenium_chrome do |app|
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
driver = Selenium::WebDriver.for :chrome, options: options
Capybara::Selenium::Driver.new(
app,
browser: :chrome,
desired_capabilities: driver
)
end
Capybara.default_driver = :selenium_chrome
Lỗi:
> undefined method `each' for
> #<Selenium::WebDriver::Remote::Capabilities:0xd13baac> (NoMethodError)
Chỉnh sửa 2: Tải mới nhất ChromeDriver 2.30
Sử dụng ví dụ từ ChromeDriver Capabilities & tôi nhận được một lỗi.
Net::ReadTimeout (Net::ReadTimeout)
require 'rubygems'
require 'capybara/cucumber'
require 'selenium-webdriver'
Capybara.register_driver :selenium_chrome do |app|
caps = Selenium::WebDriver::Remote::Capabilities.chrome(
"chromeOptions" => {
"binary" => "/chromedriver_win32/chromedriver.exe",
"args" => [ "--disable-web-security", "--headless" ]
}
)
Capybara::Selenium::Driver.new(
app,
browser: :chrome,
desired_capabilities: caps
)
end
Capybara.default_driver = :selenium_chrome
Cảm ơn.Tôi đã thoát khỏi cảnh báo thành công. – kstratis