【发布时间】:2011-01-22 00:35:53
【问题描述】:
我对黄瓜和 webrat 使用了以下步骤定义,一切正常:
Then /^I should see "([^\"]*)" worker in the workerlist/ do |number|
response.should have_selector("td.worker_name", :count=>number)
end
我现在已经转移到 selenium 并且“不知何故” have_selector 不再采用 :count 参数。我收到以下错误:
ArgumentError: wrong number of arguments (2 for 1)
./features/step_definitions/worker_generation_steps.rb:15:in `have_selector'
接下来我尝试使用 assert_contain,但我找不到检查确切数字的正则表达式。不幸的是,如果 "class="worker_name"" 的数量小于预期的数量,则通过以下步骤定义。
Then /^I should see "([^\"]*)" worker in the workerlist/ do |number|
assert_contain (/((.*)(class="worker_name"))#{number}/m)
end
我的问题:
1.) 我如何检查在我的示例中“td.worker_name”准确出现多次的最简单方法?
2.) 如果无法绕过正则表达式:我如何重写上面的正则表达式,以便它检查“class="worker_name"”的确切数字?
非常感谢!
【问题讨论】:
标签: ruby-on-rails regex selenium cucumber webrat