コンフォメーションポップアップの肯定と却下の両方が機能することをテストするテストを作成しています。ただし、次のエラーが表示されます。
And I dismiss popup # features/step_definitions/web_steps.rb:74
undefined method `switch_to' for #<Capybara::RackTest::Browser:0xa6f0dec> (NoMethodError)
./features/step_definitions/web_steps.rb:75:in `/^I confirm popup$/'
features/add_session.feature:121:in `And I confirm popup'
私のテストを実行するとき。
私の .features ファイルの手順は次のようになります。
And I press "Delete"
And I confirm popup
web_steps.rb 内で、次のように定義しています。
When /^I confirm popup$/ do
#page.evaluate_script('window.confirm = function() { return true; }')
#page.click('OK')
page.driver.browser.switch_to.alert.accept
#popup.confirm
end
When /^I dismiss popup$/ do
page.driver.browser.switch_to.alert.dismiss
#page.evaluate_script('window.confirm = function() { return true; }')
#page.click('Cancel')
#popup.dismiss
end
Gemfile に次のように含めた prickle gem を使用しています。
group :test do
gem 'cucumber-rails'
gem 'prickle'
end
そして、とげを含めるために、ここで概説されているように、Gemfile に数行追加しました。githubページに表示されているように、最初はWorldと同じように使用していましたが、Worldが2回使用されていたため(もう1回はキュウリライブラリで)、エラーが発生していました。env.rb ファイルに追加した行は次のとおりです。
require 'prickle/capybara' # require
module Prickle_helper
include Capybara::DSL
include Prickle::Capybara # include Prickle
end
World(Prickle_helper)
私のエラーの原因について何か考えはありますか? ありがとう!