如何在 RSpec 中同时使用 selenium 和 poltergeist?
How to use selenium and poltergeist together in RSpec?
我的应用程序中有一个丰富的前端。由于动画和 AJAX 请求,我的一些测试在 poltergeist 上效果不佳,但在 selenium 上效果很好。
如何在一个项目和一个测试会话中同时使用它们?
我找到了解决方案。
在 spec/support/selenium_macros.rb:
中创建了宏
module SeleniumMacros
def use_selenium_webdriver
before(:all) do
Capybara.javascript_driver = :selenium
Capybara.current_driver = :selenium
end
after(:all) do
Capybara.current_driver = :poltergeist
Capybara.javascript_driver = :poltergeist
end
end
end
spec/rails_helper.rb
RSpec.configure do |config|
config.extend SeleniumMacros, type: :feature # add macros for acceptance tests
使用示例
spec/features/example_feature_spec.rb
feature 'Add files to question' do
use_selenium_webdriver
此功能将与 selenium 一起使用,执行后会激活 poltergeist webdriver。
P.S。对不起我的英语。
如果您将标准 RSpec 配置与水豚一起使用(需要 'capybara/rspec'),那么您可以使用 :driver
元数据覆盖将用于给定测试的普通驱动程序
it "should do something", driver: :selenium do
# will use the selenium driver for this test
end
it "should do something else", driver: :poltergeist do
# will use the poltergeist driver for this test
end
如果您希望整个功能使用特定驱动程序,也可以在封闭功能上指定
feature "blah balh", driver: :selenium do
# all scenarios here would use the selenium driver unless overridden with their own :driver metadata
我的应用程序中有一个丰富的前端。由于动画和 AJAX 请求,我的一些测试在 poltergeist 上效果不佳,但在 selenium 上效果很好。
如何在一个项目和一个测试会话中同时使用它们?
我找到了解决方案。
在 spec/support/selenium_macros.rb:
中创建了宏module SeleniumMacros
def use_selenium_webdriver
before(:all) do
Capybara.javascript_driver = :selenium
Capybara.current_driver = :selenium
end
after(:all) do
Capybara.current_driver = :poltergeist
Capybara.javascript_driver = :poltergeist
end
end
end
spec/rails_helper.rb
RSpec.configure do |config|
config.extend SeleniumMacros, type: :feature # add macros for acceptance tests
使用示例 spec/features/example_feature_spec.rb
feature 'Add files to question' do
use_selenium_webdriver
此功能将与 selenium 一起使用,执行后会激活 poltergeist webdriver。
P.S。对不起我的英语。
如果您将标准 RSpec 配置与水豚一起使用(需要 'capybara/rspec'),那么您可以使用 :driver
元数据覆盖将用于给定测试的普通驱动程序
it "should do something", driver: :selenium do
# will use the selenium driver for this test
end
it "should do something else", driver: :poltergeist do
# will use the poltergeist driver for this test
end
如果您希望整个功能使用特定驱动程序,也可以在封闭功能上指定
feature "blah balh", driver: :selenium do
# all scenarios here would use the selenium driver unless overridden with their own :driver metadata