我的應用程序中有一個豐富的前端。由於動畫和AJAX請求,我的一些測試不適合poltergeist,但在硒中運行良好。如何在RSpec中一起使用硒和poltergeist?
我怎樣才能在一個項目和一個測試會話中一起使用它們?
我的應用程序中有一個豐富的前端。由於動畫和AJAX請求,我的一些測試不適合poltergeist,但在硒中運行良好。如何在RSpec中一起使用硒和poltergeist?
我怎樣才能在一個項目和一個測試會話中一起使用它們?
如果您使用的是與水豚標準RSpec的配置(需要「水豚/ 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
謝謝。這是完美的解決方案! –
我找到了解決辦法。
在規格/支持/ 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
規格/ rails_helper.rb
RSpec.configure do |config|
config.extend SeleniumMacros, type: :feature # add macros for acceptance tests
使用例如 規格/特徵/ example_feature_spec.rb
feature 'Add files to question' do
use_selenium_webdriver
此功能將與硒一起工作,待它執行後激活poltergeist webdriver。
P.S.對不起我的英語不好。
該能力已經內置於正常的RSpec配置,所以這是不必要的 - 請參閱我的回答 –
謝謝,但我想在一個測試會話中運行它。 –