Да, при проектировании тестов для автоматизации есть некоторые особенности, тесты надо строить иначе, чем для ручного выполнения. Но иногда тестировщику автоматизатору приходится думать не только о том, как спроектировать тесты, но и об инфраструктуре для их выполнения. И механизм запуска браузера при автоматизации тестирования веб-приложений является важным элементом этой инфраструктуры.
Я разработал для себя универсальный механизм запуска браузера для инструмента Selenium, который позволяет достаточно гибко управлять различными способами использования браузера в зависимости от потребностей – один браузер на все тесты либо перезапуск перед каждым тестовым методом, автоматический останов браузера после завершения выполнения тестов, автоматический перезапуск браузера при сбоях или после заданного количества использований, а также в случае переключения на другой тип браузера или другой Selenium-сервер, чтение параметров запуска из конфигурационного файла или передача параметров из программного кода.
Но прежде чем рассказать про реализацию этого механизма и отдать его в широкое использование, я хочу изложить свою точку зрения на очень важный, как мне кажется, вопрос:
Как правильно запускать браузер?
При рассмотрении будем учитывать следующие характеристики тестового набора:
- производительность – общее время выполнения всех тестов,
- устойчивость к сбоям тестов – возможность продолжения выполнения тестов после сбоя отдельного теста,
- устойчивость к сбоям браузера – возможность продолжения выполнения тестов после сбоя браузера,
- простота локализации дефектов.
- отдельный браузер для каждого теста,
- общий браузер для группы тестов,
- общий браузер для всех тестов.
Читать дальше