4. Проблемы
Долго и утомительно
Много однообразных действий
И так каждый регресс.
Цена ошибки довольно высока, поскольку это одна из ключевых
функциональностей браузера.
5. Автоматизация – почему нет?
Число обращений к API соцсетей ограничено
Это не классический веб, это браузерные расширения
Потребует большого ресёрча и времени автоматизатора.
6. Полуавтоматизация: как это устроено?
Запрос к API/somePath
Ответ заглушкой
Сравнивает запрос к API
с шаблоном
Шаблон запроса
'httpRequest': {
'method': 'POST',
'path': '/somePath',
'body': {}
},
'httpResponse': {
'statusCode': 200,
'body': { }
}
7. Предварительные настройки среды
• Сохраняем ответы API в виде json-файлов
• Ставим браузер Google Chrome + расширение DHC (Dev HTTP Client)
• Ставим java + mockserver
• Помещаем заглушки в расширение DHC и сохраняем их там в виде
проекта
8. Алгоритм действий
• Перенаправляем API на localhost
• Запускаем Mockserver
• Запускаем расширение DHC
• Посылаем запросы к API
• Смотрим результат
16. Полуавтоматизация – почему да?
По сравнению с полной автоматизацией – простота
Облегчение жизни ручному тестировщику
Сокращение сроков тестирования: 2 дня vs 2 часа
Возможность генерировать самые разные ответы сервера, в том
числе, и невалидные
Легко портируемо
17. Какие минусы?
Проблема с API, использующими механизм форсированного
защищённого протокола hsts
Решение:
Флаг командной строки --ignore-certificate-errors для Google Chrome
18. Какие минусы?
Игнорирование возможных внезапных изменений в сторонних API
Решение:
Отдельные тесты для API с помощью приложения Postman для
Google Chrome