0

我是黄瓜和水豚的新手,我对以下错误感到困惑:

   When I click the "Search" button    # features/step_definitions/web_steps.rb:9
  Unable to find button #<Capybara::Element tag="button"> (Capybara::ElementNotFound)
  ./features/step_definitions/web_steps.rb:11:in `/^I click the "([^"]*)" button$/'
  features/search.feature:9:in `When I click the "Search" button'

在我的功能中,我有:

When I click the "Search" button

我的步骤如下:

When /^I click the "([^"]*)" button$/ do |button_text|
  button_text = find('#gbqfb')
  click_button button_text
end

我已经尝试过 'click(button_text) 和 click_link 方法。我在想它可能很明显,我没有看到。我正在尝试查找按钮元素的 css 定位器,然后单击该元素。我认为不需要更改正则表达式,因为无论如何我都在更改“button_text”局部变量。还是我?

4

1 回答 1

0

您可以使用firstandfind方法,然后像这样设置单击

first('.page a', :text => '2').click
find('.page a', :text => '2').click

为你的黄瓜

When /^I click the "([^"]*)" button$/ do |button_text|
  first('.page a', :text => "#{button_text}").click
end

或者

When /^I click the "([^"]*)" button$/ do |button_text|
  find('.page a', :text => "#{button_text}").click
end
于 2013-07-22T09:08:54.123 回答