Делюсь интересным методом перехвата трафика.
Задача, поставленная в таске: Проверить синхронизацию фронта и бэка - что при клике элементов на фронте, на бэк уходит надлежащий запрос. Пометка: регрессионное тестирование. Модуль: смоук-тесты. Севирити: high.
Итак, есть тест-кейс, по которому ручной тестировщик осуществляет регресс перед релизом. Задача - обернуть сценарий в код и, тем самым, разгрузить ручного коллегу, дав ему возможность тестить что-то другое.
Go!
Рил сидел с этим часа 3! Почему? Потому что пробовал через прокси. Создаю класс ProxyListener, прописываю все нужные методы, ессесно, добавляю зависимости в помник и так далее. Всё прекрасно. Но, извините, ради такого смоука создавать целый класс???!!! Да ну нафиг!
Все остальные варианты кроме прокси также предполагают создание нового класса и добавление зависимости в пом-файл.
Не то.
И тут, спустя 2 кофе, я вспоминаю о прекрасном исполнителе JavaScript! Редко пользуюсь JavaScript, пришлось погуглить, но нашёл великолепный способ, не требующий ни создание специального отдельного класса, ни добавления новых зависимостей в помник.
Просто AJAX-запрос на JavaScript, обёрнутый в обычный метод Java!
Огонь? Нет! Пожар!!!!! Хах)))
Метод позволяет прекрасно перехватить трафик к бэку при клике любого элемента на фронте, вывести его в переменную и сравнить с ожидаемым значением.
Выкладываю. Пользуйтесь на здоровье! Всем добра!