Как лучше всего проверить, что я на правильной странице, когда тестирую веб-приложение? - PullRequest
0 голосов
/ 04 октября 2011

В настоящее время я создаю тесты с использованием Capybara / Rails и хочу узнать, какой самый надежный / стандартный способ тестирования позволяет мне оказаться на правильной странице в следующих ситуациях:

Стандартный интеграционный тест, включая сторонние ссылки Удаленные производственные тесты (набор тестов, которые можно запустить на рабочем сервере, чтобы убедиться, что все работает)

Таким образом, я гарантирую, что на каждой странице существуют определенные довольно уникальные элементы, но некоторые страницы довольно похожи, или с основным отличием - это динамически генерируемый контент, который трудно проверить. Я бы использовал URL, но я не уверен, что это согласуется с Rails - я знаю, что возможны разные маршруты, чтобы добраться до страницы, но я не уверен, что фактическое посещение страницы дает какой-то извлекаемый «истинный адрес» .

Кроме того, я не делаю продукт с нуля, и он находится в стадии активной разработки, поэтому, хотя я мог бы пойти и добавить какой-то уникальный идентификатор на каждую страницу, я бы предпочел иметь решение, которое внесло бы как можно меньше изменений в существующая кодовая база насколько это возможно.

Ответы [ 2 ]

1 голос
/ 04 октября 2011

Вы должны иметь возможность получить текущий URL / путь, используя current_url или current_path, и сравнить с действительным маршрутом, чтобы установить равенство. Вы можете проверить http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Session#current_path-instance_method или https://github.com/jnicklas/capybara и увидеть «DSL»

1 голос
/ 04 октября 2011

Почему бы не использовать заголовок страницы?Он должен быть уникальным (если это не так, вам, вероятно, следует вернуться к нему и сделать его уникальным).Я не вижу причин, которые подразумевали бы одинаковые заголовки для двух разных страниц ...

...