1

我需要用 Cucumber/Webrat 测试这个按钮的存在:

<%=submit_tag 'Get it'%>

但是当我使用这个自定义步骤时:

And I should see a button with a value of "Get it"

那是:

Then /^I should see a button with a value of "([^\"]*)"$/ do |value|
 response.should have_selector("form input[value=#{value}]")
end

我得到:

    我应该看到一个值为“Get it”的按钮# features/step_definitions/common_steps.rb:181
      'includesGet' 之后的意外''(Nokogiri::CSS::SyntaxError)
      /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/racc/parser.rb:99:in `_racc_do_parse_c'
      /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/racc/parser.rb:99:in `__send__'
      /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/racc/parser.rb:99:in `do_parse'
      ./features/step_definitions/common_steps.rb:182:in `/^我应该看到一个值为 "([^\"]*)"$/' 的按钮

当我测试一个带有 ONE WORD 值的按钮时,它可以工作,所以它是“Get”和“it”之间的空格。

想法?

谢谢

4

2 回答 2

0
And I should see a button named "Get it"

custom_steps.rb

Then /^I should see a button named "([^\"]*)"$/ do |name|
 response.should have_xpath("//input[@type='submit' and @value='#{name}']")
end

感谢http://www.vermonster.com/2009/12/16/cucumber-workshop-recap/

于 2010-09-21T15:11:22.297 回答
0

对我来说,这似乎是 Nokogiri 的一个问题:

page.search("input[value='Next Batch']")   # => Nokogiri::CSS::SyntaxError
page.search("//input[@value='Next Batch']") # => Okay
于 2010-10-13T14:31:01.910 回答