На конференции CAST 2015 Иоана Сербан читала доклад про "Взять под контроль ваше тестовое окружение". Это захватывающая и интересная история ее личного опыта с тест-окружениями. Посмотрите запись доклада, если еще ее не видели.
Я выбрала презентацию Иоаны как основу для недавней сессии по обмену знаниями о тестировании в своей организации. Так как мы все еще работаем как распределенная команда, не очень-то практично собирать всех тестировщиков в одном месте физически, чтобы делиться идеями. Взамен я попросила их посмотреть доклад Иоаны в свободное время, а потом обсудить его во время дискуссионной сессии через онлайн-групповой чат.
За нашими обсуждениями иногда трудно уследить – множество людей печатает одновременно, однако мы подняли ряд любопытных вопросов. Мы покрыли четыре темы: стабильность нашего билда, техники для автоматизации тестов, ключевые особенности наших окружений, и люди, с которыми мы работаем над тестовыми окружениями.
В сети постоянно нахожу примеры того, как, используя Selenium, проверить, перешло ли на страницу, на которой присутствует текст и т.п. Иными словами встречаю примеры несложных тестов.
А если у меня есть приложение Java EE (GWT, Spring), в котором есть много таблиц/подчиненных таблиц. В таблицу можно добавлять данные, тогда она без обновления страницы обновляется и т.п.
Как это правильно тестировать? Искать элементы, используя локаторы/xpath..., просто это будет всё намного более запутанное?
Кому не сложно, поскидывайте примеры реально СЛОЖНЫХ selenium автотестов. А не тестов вида "ввести текст в поля, нажать кнопочку, перейти на страницу, проверить, что присутствует текст".
Хочется что-то типа: "нажать одну из кнопок "добавить"(именно одну из нескольких с одинаковым названием, расположенных под разными таблицами), в выпадающем окне заполнить поля a1,a2,a3...., нажать в этом же выпадающем окне ОК, в таблице найти запись с полями a1,a2,a3,.... соответствующим колонками b1,b2,b3,...., если нашли, то тест пройден".
Вот примеры такого хочется увидеть. Ведь по идее, если всё это делать в таком же стиле, в каком делаются простые тесты, примеры которых я постоянно вижу, то будет куча строк вида findElementById, будет много-много такого в общем одинакового кода. Который сложен лишь тем, что приходится искать много элементов во многих местах.