У меня есть веб-приложение, которое я хотел бы протестировать с помощью Selenium, причем это приложение взаимодействует с серверной частью с помощью REST API.
Насколько я понимаю, Selenium в основном используется для тестирования потоков через приложение и внешнего вида/наличия виджетов для каждого из этих состояний. Это подсказывает мне, что при написании тестов Selenium для моделирования серверной части имеет большой смысл. Я предпочитаю Python, но я также знаком с node.js, javascript и JAVA. Какой подход вы бы порекомендовали в отношении моделирования REST API. Я думал о написании сервера на Python. Я могу создать этот сервер в своей тестовой среде и настроить его реакцию на запросы от внешнего интерфейса для каждого теста. Есть ли какие-нибудь инструменты и библиотеки, которые вы могли бы мне порекомендовать?
Я также должен добавить, что я использую raml для определения своего API.
Итак, с моей симуляцией серверной части тесты будут выглядеть примерно так:
def test_no_table_for_one_user():
# configure reply for api request
rest_sim.get_users_response = (200, [{name: "Foo Bar", address: "West side"}])
navigate_to_users_page()
# test that this users details are presented without the use of a table
...
def test_table_for_multiple_users():
# configure reply for api request
rest_sim.get_users_response = (200, [{name: "Foo Bar", address: "West side"}, {name: "Foo Baz", address: "East side"}])
navigate_to_users_page()
# test that the two users are presented in the form of a table
...