В нашей команде QA мы запускаем набор автоматических тестов для каждого коммита, который делают разработчики.Поскольку таких коммитов ежедневно не так много, и ни один разработчик не хочет ждать более нескольких минут, чтобы получить обратную связь, мы ограничены 5 минутами тестирования.В эти 5 минут мы хотим выполнить как можно больше тестов.
Мы обнаружили, что тесты на селен являются лучшими для наших нужд: в основном потому, что они надежны.Если тест на селен сообщает об ошибке JS, вы на 95% уверены, что это настоящая ошибка.(Это чрезвычайно важное свойство, как мы узнали из нашего опыта использования HTMLUnit).Однако выполнение тестов на селен медленное и тяжелое.(Мы поддерживаем небольшую ферму ЦП, чтобы мы могли запускать множество серверов селена и множество сценариев асинхронно).
Недавно мы предложили новый подход - использовать селен только в тех местах, где он действительно необходим: popups, ajax., JS в общем, .. В других местах используйте «Текстовый браузер».Например, если вы хотите проверить, работает ли следующая ссылка:
<a href='/somewhere'> link </a>
Селен вам не нужен.Вы можете выполнить GET-запрос к странице, а затем использовать regex / parse для страницы и использовать xpath / .. Bottom line - вам не нужен JS-движок .Ясно, что это гораздо более легкий и быстрый тест.
У нас был большой успех с этим подходом, и мы столкнулись со следующими ссылками:
<a href='/somewhere-1' onclick="foo()" > link 1 </a>
<a href='/somewhere-2' onclick="foo()" > link 2 </a>
... many more such links ...
Так что в этом случае вы нена самом деле нужно запустить сценарий селена, который нажимал на каждую ссылку.Просто нажмите на один из них, используя селен (чтобы проверить функциональность функции JS foo()
), а затем используйте текстовый браузер для проверки href
других ссылок.
Мой вопрос: гдеКак вы думаете, мы должны провести черту?и я был бы рад услышать ваше мнение - есть ли инструменты «Текстовый браузер» (мы не работали с WebDriver)?