gpt4 book ai didi

ruby-on-rails - 在 Ruby on Rails 中用 cucumber/capybara 测试弹出窗口

转载 作者:数据小太阳 更新时间:2023-10-29 08:13:05 25 4
gpt4 key购买 nike

<分区>

我正在编写测试来测试确认和取消确认弹出窗口是否有效。但是,我收到错误:

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 中添加了几行 here包括刺痛。我最初像 World 一样拥有它,就像它们在 github 页面上显示的那样,但这给了我错误,因为 World 被使用了两次(另一次在 cucumber 库中)。以下是我添加到我的 env.rb 文件中的行:

require 'prickle/capybara'    # require

module Prickle_helper
include Capybara::DSL
include Prickle::Capybara # include Prickle
end

World(Prickle_helper)

关于可能导致我的错误的任何想法?谢谢!

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com