У меня есть следующий тест:Запуск тестов на нескольких объектах
expect(page).to have_selector('ul', count: 1)
expect(page).to have_selector('li', count: 21)
expect(page).to have_selector('li img', count: 21)
В основном я хочу, чтобы проверить, что список существует, что оно имеет ровно 21 пунктов и что каждый элемент имеет изображение.
Проблема с моим кодом заключается в том, что если первый элемент имеет 2 изображения, а второй - нет, он все равно пройдет.
Как я могу проверить каждый элемент списка отдельно? Что-то вроде этого ...
expect(page).to have_selector('ul', count: 1)
expect(page).to have_selector('li', count: 21)
foreach('li') do |item|
expect(item).to have_selector('img', count: 1)
end
Существовал нет ' has_no_xpath'. Был «has_no_xpath?», Но когда я его использую, я получаю «синтаксис ожидания», который не поддерживает сопоставления операторов, поэтому вы должны передать совпадение в «# to». –
@Dbugger должно быть 'has_no_xpath' –
@Tom Walpole, спасибо за исправление. –