我对黄瓜和 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””的确切数量?
非常感谢!