2017-02-21 63 views
0

我的應用程序中有一個豐富的前端。由於動畫和AJAX請求,我的一些測試不適合poltergeist,但在硒中運行良好。如何在RSpec中一起使用硒和poltergeist?

我怎樣才能在一個項目和一個測試會話中一起使用它們?

+0

謝謝,但我想在一個測試會話中運行它。 –

回答

2

如果您使用的是與水豚標準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 
+0

謝謝。這是完美的解決方案! –

0

我找到了解決辦法。

在規格/支持/ 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.對不起我的英語不好。

+0

該能力已經內置於正常的RSpec配置,所以這是不必要的 - 請參閱我的回答 –

相關問題