Я использовал следующее определение шага с огурцом и вебратом, и все работало нормально:
Then /^I should see "([^\"]*)" worker in the workerlist/ do |number|
response.should have_selector("td.worker_name", :count=>number)
end
Теперь я перешел на селен, и «почему-то» 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 »«?
Большое спасибо!