加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何解决Capybara :: ElementNotFound错误

发布时间:2020-12-17 03:19:15 所属栏目:百科 来源:网络整理
导读:我遇到了以下问题,这是我第一次使用水豚,请你知道如何解决这个问题,谢谢 我使用rails 3.0.0和以下宝石 gem 'rails','3.0.0'gem 'capybara'gem 'database_cleaner'gem 'cucumber-rails'gem 'cucumber'gem 'rspec-rails'gem 'spork'gem 'launchy' 我在Senario
我遇到了以下问题,这是我第一次使用水豚,请你知道如何解决这个问题,谢谢

我使用rails 3.0.0和以下宝石

gem 'rails','3.0.0'
gem 'capybara'
gem 'database_cleaner'
gem 'cucumber-rails'
gem 'cucumber'
gem 'rspec-rails'
gem 'spork'
gem 'launchy'

我在Senario中有以下内容

When I go to the new customer page
And I fill in "Email" with "john@example.com"

在我的customer_steps.rb我有

When /^I fill in "([^"]*)" with "([^"]*)"$/ do |arg1,arg2|
  fill_in arg1,:with => arg2
end

在我看来

- form_for @customer do |f|
  = f.label :email,'Email'
  = f.text_field :email
  = f.submit

当我运行我的方案时,我收到此错误消息

Scenario: Register new customer                  # features/manage_customers.feature:7
    When I go to the new customer page             # features/step_definitions/customer_steps.rb:1
    And I fill in "Email" with "john@example.com"  # features/step_definitions/customer_steps.rb:5
      cannot fill in,no text field,text area or password field with id,name,or label 'Email' found (Capybara::ElementNotFound)
      ./features/step_definitions/customer_steps.rb:6:in `/^I fill in "([^"]*)" with "([^"]*)"$/'
      features/manage_customers.feature:9:in `And I fill in "Email" with "john@example.com"'

解决方法

我发现了我的错!

When I go to the new customer page

在这一步之前

When /^I go to (.+)$/ do |page_name|
  path_to page_name 
end

我忘记了这次访问……

When /^I go to (.+)$/ do |page_name|
  visit path_to(page_name) 
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读