Я использую Capybara 2.1 с Ruby 1.9.3, используя драйвер селена (с Minitest и Test Unit), чтобы протестировать веб-приложение.
Я борюсь с проблемой StaleElementReferenceException
. Я видел довольно много обсуждений на эту тему, но я не смог найти решение проблемы, с которой столкнулся.
В общем, я пытаюсь найти все элементы разбиения на страницы на своей странице, используя этот код:
pagination_elements = page.all('.pagination a')
Затем я делаю некоторые утверждения для таких элементов, как:
pagination_elements.first.must_have_content('1')
После этих утверждений я продолжаю тест, нажимая ссылку «Следующая страница», чтобы убедиться, что моим будущим первым элементом разбиения на страницы будет «Предыдущая страница». Для этого я снова получаю элементы разбиения на страницы:
new_pagination_elements = page.all('.pagination a')
И здесь возникает Stale Error, потому что я достигаю элементов, которые я уже достиг. ( Вот ошибка)
Вы можете увидеть состояние ссылки здесь.
Я действительно понятия не имею, как заставить этот общий тест работать правильно. Есть ли у вас какие-либо советы о том, как лучше добраться до моих элементов разбивки на страницы?