相关疑难解决方法(0)

如何使用Cucumber测试确认对话框?

我正在使用带有Cucumber和Capybara的Ruby on Rails.

我将如何测试一个简单的确认命令("你确定吗?")?

另外,我在哪里可以找到有关此问题的进一步文档?

integration-testing automated-tests capybara

86
推荐指数
4
解决办法
3万
查看次数

如何使用link_to Ruby在rails上添加确认消息

我想在Ruby上添加link_to函数的确认消息.

= link_to 'Reset message', :action=>'reset' ,:confirm=>'Are you sure?'
Run Code Online (Sandbox Code Playgroud)

任何想法为什么它不起作用?

ruby link-to ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

54
推荐指数
4
解决办法
6万
查看次数

Rspec + Capybara:如何点击警告框

我已经通过了水豚的帖子+点击提示框,但似乎没有任何工作.以下是我的情景:

场景:当我单击更新按钮时出现一个警告框,其中包含"确定"和"取消"按钮.单击"确定",然后出现新表单.

  1. 我正在编写请求规范,即使用rspec和capybara.主要问题是单击警告框:以下是我的代码:

     context "update" do
       before(:all) do
         Capybara.current_driver = :selenium
       end
       after(:all) do
         Capybara.use_default_driver
       end
    
       it "update user to trainer" do
         click_button('Search')
         sleep 3 
         page.evaluate_script('data-confirm = function() { return true; }')
         page.click('OK')      
         click_button('Upgrade')
       end
     end
    
    Run Code Online (Sandbox Code Playgroud)

    但执行脚本会给我以下错误:

    失败/错误:page.evaluate_script('data-confirm = function(){return true;}')Selenium :: WebDriver :: Error :: UnexpectedJavascriptError:左侧无效赋值#./ spec/summary/user_upgrades_spec.rb :30

  2. 对于第二个例子即

    page.driver.browser.switch_to.alert.accept

    我的代码:

     context "update" do
       before(:all) do
         Capybara.current_driver = :selenium
       end
       after(:all) do
         Capybara.use_default_driver
       end
       it "update user to trainer" do
         click_button('Search')
         sleep 3   
         click_button('Upgrade') 
         page.driver.browser.switch_to.alert.accept
       end
     end 
    
    Run Code Online (Sandbox Code Playgroud)

我收到错误: …

rspec capybara

38
推荐指数
6
解决办法
3万
查看次数

来自Capybara的弃用警告

我使用rspec-rails 2.14.0.rc1和capybara 2.4.1从rails 3.2.19升级到rails 4.1.5.所有测试都通过了,我只剩下一个弃用警告:

[DEPRECATION] Capybara::Webkit::Driver#accept_js_confirms! is deprecated. Please use Capybara::Session#accept_confirm instead.
Run Code Online (Sandbox Code Playgroud)

导致这种情况的代码行是

page.driver.accept_js_confirms!
Run Code Online (Sandbox Code Playgroud)

如何更改此行以消除弃用警告?

rspec ruby-on-rails capybara capybara-webkit

8
推荐指数
2
解决办法
3505
查看次数