Как вы уже поняли, проблема в том, что элементы устарели, когда вы вернетесь на предыдущую страницу. В зависимости от того, какие ограничения вы готовы принять, есть несколько способов справиться с этим. Большая проблема, с которой вы столкнулись, заключается в том, что вы делаете это в Cucumber, который на самом деле не имеет поддержки определения объема / циклов в своей тестовой структуре. Если вы хотите, чтобы это работало только в определенном браузере / платформе, вы можете использовать соответствующие ключевые модификаторы по щелчку, чтобы браузер открывал новую вкладку для каждой записи вакансии, а затем ваш следующий шаг мог бы пройти через проверку всех открытых вкладок. те
When("I click on each job title") do
page.all('.job-box').each do |item|
item.find('a').click(:alt, :cmd) # alt,cmd click in Chrome MacOS opens in new tab
end
end
Но на самом деле вам будет лучше делать что-то вроде
When("I click on each job title and verify info") do
page.all('.job-box').each do |item|
window = page.window_opened_by do
item.find('a').click(:alt, :cmd)
end
page.within_window(window) do
# verify whatever needs to be verified
end
window.close
end
end