У нас есть значительная кодовая база с относительно высоким тестовым покрытием для страниц/форм, всех через ванильный POST/получать.
Теперь, мы - находка, сами перемещающаяся больше в пространство 'ajaxy', и не совсем возможно протестировать с, ПОЛУЧАЮТ/POST полные сценарии как регистрация пользователя или создание объекта, поскольку они включают много вызовов JavaScript/Ajax.
В то время как подобные вещи являются наиболее вероятными кандидатами на тестирование с Селеном, интересно, мы должны принять тестирование Селена через плату, оставив олдскульные тесты POST/получать в целом?
Преимущества внедрения Селена, кажется, слишком хороши - способность работать в значительной степени, то же ПОЛУЧАЕТ/POST тесты, но через диапазон браузеров.
Или я пропускаю что-то в своем преследовании прохладного и модного материала и угробил старые доказанные тесты POST/получать?
У обоих подходов есть свои преимущества и недостатки, поэтому я рекомендую использовать оба.
Selenium запускает настоящий браузер и имитирует взаимодействие пользователя с вашим веб-приложением, что может быть замечательно, если вы тестируете функции Ajax. Он может проверять, что элементы видны, и взаимодействовать с ними так же, как и пользователь.Еще одна потрясающая функция - это возможность делать скриншоты через Selenium, что может быть невероятно полезно при расследовании сбоев.
К сожалению, запуск браузера и переход к определенной странице / состоянию в вашем приложении может быть медленным, и вам понадобится много оборудования, если вы хотите протестировать одновременных пользователей (нагрузочное тестирование) с помощью Selenium.
Если вы просто хотите проверить, что ваш сервер отвечает HTTP 200 для определенных действий, или нагрузочный тест ваших приложений, или что ответ содержит определенные значения, то базовый POST / GET будет более подходящим.
Если вы все же решите использовать подход к тестированию, основанный на чистом Selenium, я бы порекомендовал изучить использование Selenium Grid или облачной службы, поскольку выполнение большого количества тестов с помощью Selenium может занять довольно много времени.
Я думаю, вам обязательно следует использовать тесты Selenium и POST / GET (Unit) вместе, потому что цель вашего модульного теста - проверить функциональность определенного раздела кода, но Selenium выполняет интеграционное тестирование вашего веб-приложения.