3
我正在編寫測試以測試確認和解除構造彈出工作。但是,我得到錯誤:在Ruby on Rails上用黃瓜/水豚測試彈出窗口
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'
運行我的測試時。
我。特點文件的步驟是這個樣子:
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中:
group :test do
gem 'cucumber-rails'
gem 'prickle'
end
然後我添加了幾行代碼到我的Gemfile中,如下所示here包括刺。我最初是像World一樣擁有它,就像他們在github頁面上展示的那樣,但是由於World被兩次使用(另一次在黃瓜庫中),這給我帶來了錯誤。這裏是我添加到我的env.rb文件的行:
require 'prickle/capybara' # require
module Prickle_helper
include Capybara::DSL
include Prickle::Capybara # include Prickle
end
World(Prickle_helper)
任何想法是什麼可能會導致我的錯誤?謝謝!