SlideShare a Scribd company logo
Полуавтоматизация Third-party
API или избавляемся от лишних
зависимостей
Елена Бычкова, специалист по тестированию
http://amigo.mail.ru
Социальный браузер
Социальный плагин, использующий
Third-party API
Проблемы
 Долго и утомительно
 Много однообразных действий
И так каждый регресс.
Цена ошибки довольно высока, поскольку это одна из ключевых
функциональностей браузера.
Автоматизация – почему нет?
 Число обращений к API соцсетей ограничено
 Это не классический веб, это браузерные расширения
 Потребует большого ресёрча и времени автоматизатора.
Полуавтоматизация: как это устроено?
Запрос к API/somePath
Ответ заглушкой
Сравнивает запрос к API
с шаблоном
Шаблон запроса
'httpRequest': {
'method': 'POST',
'path': '/somePath',
'body': {}
},
'httpResponse': {
'statusCode': 200,
'body': { }
}
Предварительные настройки среды
• Сохраняем ответы API в виде json-файлов
• Ставим браузер Google Chrome + расширение DHC (Dev HTTP Client)
• Ставим java + mockserver
• Помещаем заглушки в расширение DHC и сохраняем их там в виде
проекта
Алгоритм действий
• Перенаправляем API на localhost
• Запускаем Mockserver
• Запускаем расширение DHC
• Посылаем запросы к API
• Смотрим результат
Необходимые инструменты
• Java
• Mockserver
• Google Chrome + расширение DHC
• Notepad++
• Fiddler
DEV HTTP Client
DEV HTTP Client: Request
"httpRequest": {
"method" : "GET",
"path" : "/fb.do",
"queryStringParameters" : [ ],
"headers" : [ {
"name" : "Host",
"values" : [ "api.odnoklassniki.ru" ]
}]
}
DEV HTTP Client: Response
"httpResponse": {
"statusCode": 200,
"headers": [ {
"name": "Content-Type",
"values": ["application/json; charset=utf-8"]
},
{
"name": "Cache-Control",
"values": ["no-store"] }],
"body": "
}
DEV HTTP Client: плохой ответ
"httpResponse": {
"statusCode": 404,
"headers": [{
"name": "Content-Type",
"values": ["application/json; charset=utf-8"]
},
{
"name": "Cache-Control",
"values": ["no-store"] }],
"body": ""
}
DEV HTTP Client: результат
DEV HTTP Client: портирование
Полуавтоматизация – почему да?
 По сравнению с полной автоматизацией – простота
 Облегчение жизни ручному тестировщику
 Сокращение сроков тестирования: 2 дня vs 2 часа
 Возможность генерировать самые разные ответы сервера, в том
числе, и невалидные
 Легко портируемо
Какие минусы?
Проблема с API, использующими механизм форсированного
защищённого протокола hsts
Решение:
Флаг командной строки --ignore-certificate-errors для Google Chrome
Какие минусы?
Игнорирование возможных внезапных изменений в сторонних API
Решение:
Отдельные тесты для API с помощью приложения Postman для
Google Chrome
Postman
 MockServer – http://www.mock-server.com/
 DEV HTTP Client – https://dhc.restlet.com/
 Postman – https://www.getpostman.com/
 Amigo – https://amigo.mail.ru
Полезные ссылки
Спасибо за внимание!

More Related Content

PPTX
Инструменты и лайфхаки тестирования REST API
PPTX
Автоматизация тестирования WEB API
PDF
Микросервисы для автоматизации тестирования - опыт "Одноклассников"
PPT
Опыт тестирования API САПР платформы
PDF
Опыт разработки и тестирования RESTful JSON сервиса
PDF
Автоматизация функционального тестирования REST API
PDF
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
PPTX
Speeding up UI tests, profiling of UI tests
Инструменты и лайфхаки тестирования REST API
Автоматизация тестирования WEB API
Микросервисы для автоматизации тестирования - опыт "Одноклассников"
Опыт тестирования API САПР платформы
Опыт разработки и тестирования RESTful JSON сервиса
Автоматизация функционального тестирования REST API
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Speeding up UI tests, profiling of UI tests

What's hot (19)

PPTX
Типичные ошибки начинающих писать тесты на WebDriver
PPTX
Оценка качества автотестов
PPT
Alexander manuhin selenium_php_v2.0
ODP
Системное тестирование приложений на Ruby on Rails с применением Rspec и Cap...
PPTX
CodeFest 2012. Родионов А. — Тестирование Ruby (on Rails) приложений: стек, п...
PPTX
Seamy side of autotests
PPTX
автоматизация тестирования с помощью Selenium
PPTX
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
PPTX
Автоматизация и Selenium IDE
PPT
Positive Hack Days. Гольцев. Мастер - класс: Уязвимости Web – сложные случаи.
PDF
Концепция QaAPI: взгляд на тестирование с другой стороны баррикад
PPTX
COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...
PPT
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
PPTX
Поиск багов в поиске
PPTX
Qa Automation - отбрасываем лишнее и тестируем суть
PPT
Инструментация среды исполнения в арсенале тестировщика
PPTX
Нагрузочное тестирование JMeter Кожухов
PDF
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
PDF
UICov - инструмент анализа покрытия UI-тестами
Типичные ошибки начинающих писать тесты на WebDriver
Оценка качества автотестов
Alexander manuhin selenium_php_v2.0
Системное тестирование приложений на Ruby on Rails с применением Rspec и Cap...
CodeFest 2012. Родионов А. — Тестирование Ruby (on Rails) приложений: стек, п...
Seamy side of autotests
автоматизация тестирования с помощью Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизация и Selenium IDE
Positive Hack Days. Гольцев. Мастер - класс: Уязвимости Web – сложные случаи.
Концепция QaAPI: взгляд на тестирование с другой стороны баррикад
COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
Поиск багов в поиске
Qa Automation - отбрасываем лишнее и тестируем суть
Инструментация среды исполнения в арсенале тестировщика
Нагрузочное тестирование JMeter Кожухов
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
UICov - инструмент анализа покрытия UI-тестами
Ad

Similar to Полуавтоматизация third-party API (20)

PDF
"Создание системы логирования" Литуненко Андрей, 2ГИС
PDF
Target.Mail.Ru API v2
PDF
Target mail.ru API v2
PPTX
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
PPTX
Тестирование Web API
PPTX
Node.js введение в технологию, КПИ #ITmeetingKPI
PDF
Phalcon - самый быстрый PHP Framework
PDF
Стажировка-2015. Разработка. Занятие 3. Серверные Java-приложения
PPT
Автоматическая загрузка и обработка данных для веб-порталов
PDF
Автоматизация функционального тестирования REST API: секреты, тонкости и подв...
PDF
«Автоматизация функционального тестирования REST API: секреты, тонкости и под...
PDF
Web and mobile development for intersystems caché, Eduard Lebedyuk
PDF
Разработка мобильного и веб интерфейса для Caché
PDF
Как превратить приложение в платформу
PPT
Node.JS: возможности для РНР-разработчика
PPT
бегун
PPTX
Lesson1
PDF
C# Web. Занятие 01.
PPT
бегун
PDF
JavaScript Базовый. Занятие 09.
"Создание системы логирования" Литуненко Андрей, 2ГИС
Target.Mail.Ru API v2
Target mail.ru API v2
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
Тестирование Web API
Node.js введение в технологию, КПИ #ITmeetingKPI
Phalcon - самый быстрый PHP Framework
Стажировка-2015. Разработка. Занятие 3. Серверные Java-приложения
Автоматическая загрузка и обработка данных для веб-порталов
Автоматизация функционального тестирования REST API: секреты, тонкости и подв...
«Автоматизация функционального тестирования REST API: секреты, тонкости и под...
Web and mobile development for intersystems caché, Eduard Lebedyuk
Разработка мобильного и веб интерфейса для Caché
Как превратить приложение в платформу
Node.JS: возможности для РНР-разработчика
бегун
Lesson1
C# Web. Занятие 01.
бегун
JavaScript Базовый. Занятие 09.
Ad

More from SQALab (20)

PDF
Готовим стажировку
PPTX
Куда приводят мечты? или Искусство развития тестировщика
PPT
Оптимизация Selenium тестов и ускорение их поддержки
PPT
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
PPTX
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
PPTX
Continuous performance testing
PDF
Конфиги вместо костылей. Pytestconfig и зачем он нужен
PPT
Команда чемпионов в ИТ стихии
PPTX
API. Серебряная пуля в магазине советов
PPTX
Добиваемся эффективности каждого из 9000+ UI-тестов
PPT
Делаем автоматизацию проектных KPIs
PDF
Вредные привычки в тест-менеджменте
PPTX
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
PPT
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
PPTX
Стили лидерства и тестирование
PPT
"Давайте не будем про качество"
PDF
Apache.JMeter для .NET-проектов
PPTX
Тестирование геолокационных систем
PPTX
Лидер или босс? Вот в чем вопрос
PPTX
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
Готовим стажировку
Куда приводят мечты? или Искусство развития тестировщика
Оптимизация Selenium тестов и ускорение их поддержки
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Continuous performance testing
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Команда чемпионов в ИТ стихии
API. Серебряная пуля в магазине советов
Добиваемся эффективности каждого из 9000+ UI-тестов
Делаем автоматизацию проектных KPIs
Вредные привычки в тест-менеджменте
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Стили лидерства и тестирование
"Давайте не будем про качество"
Apache.JMeter для .NET-проектов
Тестирование геолокационных систем
Лидер или босс? Вот в чем вопрос
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...

Полуавтоматизация third-party API