Chrome版本:59.0.3071.104
使用Cucumber,Capybara,Selenium实现无头Chrome的自动化测试.
功能/支持/ 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
Run Code Online (Sandbox Code Playgroud)
在进行黄瓜测试时,它说:
警告Selenium [DEPRECATION]:不推荐使用args或:开关.请改用Selenium :: WebDriver :: Chrome :: Options#add_argument.
使用Headless Chrome的水豚和硒的正确方法是什么?谢谢.
编辑1:我尝试使用Ruby-Binding,Capybara和工作示例进行以下操作.但它也会产生错误.
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
Run Code Online (Sandbox Code Playgroud)
错误:
> undefined method `each' for
> #<Selenium::WebDriver::Remote::Capabilities:0xd13baac> (NoMethodError) …Run Code Online (Sandbox Code Playgroud) 我想在Jenkins声明性管道中为不同的阶段使用不同的JDK版本.在第一阶段,我使用的是Java 8.在第二阶段,我使用的是Java 6.如何在Jenkins的声明性管道中选择多个JDK版本?
pipeline {
agent any
tools {
jdk 'jdk_1.8.0_151'
jdk 'jdk_1.6.0_45'
}
stages {
stage('java 8') {
steps {
sh 'java -version'
sh 'javac -version'
}
}
stage('java 6') {
steps {
sh 'java -version'
sh 'javac -version'
}
}
}
}
Run Code Online (Sandbox Code Playgroud)