Тестировщики часто задаются вопросом, а как тестировать GMail. Его тестирование нетривиально, т.к. на каждый чих используется Ajax, грузится долго, всё генерируется динамически и нет разумных селекторов/айдишек. Замучаешься везде проставлять wait!
Но счастье возможно! Вот проект на гитхабе, в котором написан тест для GMail. Он проверяет содержимое инбокса и пишет новое письмо. Причём ещё и делает “Undo”, редактирует и снова посылает. И в конце ждёт, пока кнопка “Undo” пропадёт.
И тут даже есть короткое видео, демонстрирующее, как это работает:
Не, тестировщики из Google наверняка прогоняют тесты ДО обфускации кода. У них там всё нормально с селекторами. И наверняка с текстовыми данными, так что грузится быстро и данные всегда одинаковые.
Главное – не злоупотребляйте. Гугл может и забанить за использование роботов. Будете потом писать слёзные письма с просьбами вернуть доступ к почтовому ящику
А зачем тестировать что-то в интерфейсе гмейла? Что делают в большинстве ситуаций:
авторизация по pop3/smtp/imap
поднятие своего собственного mail сервера, чтобы не быть завязанными на внешних dependencies
вытаскивание нужных значений (токены активации и тд) из базы
и многое другое
На ум приходит разве что скриншот тестирование вида письма, но как-то глупо получается, опять же зависеть от внешнего сервиса, да и гмеил не единственная почта, которой пользуются в мире.
Я имел в виду тестирование самого GMail как упражнение по тестированию. Конечно, когда пишешь тесты для своего проекта, использовать любые внешние сервисы, в т.ч. GMail, категорически плохо.
@asolntsev Я бы к следующей демке предложил бы использовать что-то более востребованное среди разработчиков.
Тот тулкит, GWT, который используется в Gmail – не востребован больше ни кем, кроме самого Гугла.
Зато, все больше и больше новых приложений создаются на следующих фреймворках, которые также не просты в автоматизации:
Отличная идея!
Так и сделаю. Начну с Bootstrap и JQueryUI, потом возьмусь за AngularJS…
Но вообще-то смысл как раз в том, что особенности гугловского фреймворка в тесте никак не использовались. По барабану, что у них там под капотом, GWT или что-то другое - тест более универсальный. В этом весь смысл.