Vikunja with noscripts.postman_collection.json
45.6 KB
Предусловия к вебинару:
Перед вебинаром рекомендую ознакомиться с материалами:
📺 Вебинар по тестированию REST API:
YouTube
RuTube
Также желательно заранее просмотреть тест-кейсы для сайта Vikunja – ссылка.
🔗 UI: https://try.vikunja.io/login
🔗 API-документация: https://try.vikunja.io/api/v1/docs
На вебинаре будет практическая часть.
Файл коллекции пока без запросов на вебхуки — он будет обновлён после вебинара.
Всё самое интересное — на вебинаре😉 !
Перед вебинаром рекомендую ознакомиться с материалами:
📺 Вебинар по тестированию REST API:
YouTube
RuTube
Также желательно заранее просмотреть тест-кейсы для сайта Vikunja – ссылка.
🔗 UI: https://try.vikunja.io/login
🔗 API-документация: https://try.vikunja.io/api/v1/docs
На вебинаре будет практическая часть.
Файл коллекции пока без запросов на вебхуки — он будет обновлён после вебинара.
Всё самое интересное — на вебинаре
Please open Telegram to view this post
VIEW IN TELEGRAM
50👍34❤6👌2🙏1
Всем привет, продуктивного дня и хорошего настроения.
Вводная часть:
На вебинаре будет светлый вариант презентации, но я подготовила в двух форматах😉 .
Знакомьтесь с примерным планом вебинара:
И пусть у нас все получится😃
Планировать по времени 1,5-2 часа.
Будет полезно и интересно!
Вводная часть:
На вебинаре будет светлый вариант презентации, но я подготовила в двух форматах
Знакомьтесь с примерным планом вебинара:
О себе
Что такое интеграция, способы взаимодействия микросервисов
Интеграции между сервисами
Синхронная интеграция
Асинхронная интеграция
Основные виды API, используемые для интеграций
Основные виды REST API, используемые для интеграций
Что такое Webhook?
Как работают вебхуки/веб-хуки?
Что важно при тестировании Webhook?
Информация про Webhook на сайте CoreApp
Что важно при тестировании Webhook на сайте Vikunja
Как работает Webhook в Vikunja
Как создать веб-хук вручную в интерфейсе Vikunja
Поддерживаемые события для проекта на сайте Vikunja
Выбранные события для задач проекта на сайте Vikunja
Практика: Создание Webhook для проекта
Webhook в Vikunja - X-Vikunja-Signature с HMAC-подписью
Сценарий Webhook в Vikunja - Тестирование в Postman
Тестирование Webhook в Vikunja через Postman (детали)
Проверка Webhook после создания задачи task
Плюсы и минусы веб-хуков
Курс и вебинары о подготовке на собеседования по тестированию ПО и закрепления знаний (бонус вебинара)
Дополнительная литература
Ваши вопросы
И пусть у нас все получится
Планировать по времени 1,5-2 часа.
Будет полезно и интересно!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤32👍12🔥7🆒1
✨ Решила провести эфир на другой платформе — Kinescope.
Почему? Потому что здесь отличное качество видео, ничего не тормозит и не зависает 🙌
Вот ссылка на эфир:
👉 https://kinescope.io/0cp9KJLfzhZEfwXkAiJMUG
Если вдруг не открывается — вот простой алгоритм:
🔹 Обновить страницу (F5 или кнопка ⟳)
🔹 Открыть ссылку в другом браузере (Chrome, Safari, Firefox, Edge)
🔹 Очистить кэш и куки браузера
🔹 Отключить VPN и блокировщики рекламы
🔹 Открыть в режиме инкогнито (Ctrl+Shift+N или Cmd+Shift+N)
🔹 Проверить интернет-соединение
🔹 Перезагрузить устройство
🔹 Попробовать зайти с другого устройства
До встречи на эфире!🔥
Если что-то пойдет не так, то вернемся в telegram,
Еще раз сохранить ссылку, и при старте в 16:00 - обновить страницу. Возможна задержка 1-2 минуты.
Почему? Потому что здесь отличное качество видео, ничего не тормозит и не зависает 🙌
Вот ссылка на эфир:
👉 https://kinescope.io/0cp9KJLfzhZEfwXkAiJMUG
Если вдруг не открывается — вот простой алгоритм:
🔹 Обновить страницу (F5 или кнопка ⟳)
🔹 Открыть ссылку в другом браузере (Chrome, Safari, Firefox, Edge)
🔹 Очистить кэш и куки браузера
🔹 Отключить VPN и блокировщики рекламы
🔹 Открыть в режиме инкогнито (Ctrl+Shift+N или Cmd+Shift+N)
🔹 Проверить интернет-соединение
🔹 Перезагрузить устройство
🔹 Попробовать зайти с другого устройства
До встречи на эфире!
Если что-то пойдет не так, то вернемся в telegram,
Еще раз сохранить ссылку, и при старте в 16:00 - обновить страницу. Возможна задержка 1-2 минуты.
Please open Telegram to view this post
VIEW IN TELEGRAM
Kinescope
Вебинар «Асинхронность в REST API: как тестировать Webhook» (2025.06.15 17:55)
Watch “Вебинар «Асинхронность в REST API: как тестировать Webhook» (2025.06.15 17:55)” powered by Kinescope, the ecosystem of video solutions for business of any size.
👌5❤2✍1👨💻1
Please open Telegram to view this post
VIEW IN TELEGRAM
Kinescope
Вебинар «Асинхронность в REST API: как тестировать Webhook» (2025.06.15 17:55)
Watch “Вебинар «Асинхронность в REST API: как тестировать Webhook» (2025.06.15 17:55)” powered by Kinescope, the ecosystem of video solutions for business of any size.
👍11🔥4💘1
📚 ProTestingInfo 🔷 Канал по тестированию 📚
Ссылка на эфир, встречаемся через час: ❗️ https://kinescope.io/0cp9KJLfzhZEfwXkAiJMUG
https://rest-api-webhook-5obkd6n.gamma.site/ (возможно, открыть через VPN)
Необходимые данные для просмотра вебинара (сейчас можно смотреть)
Сделаю монтаж на днях и добавлю на Youtubе с тайм-кодами и с лекцией на CoreApp
Хочу всем сказать спасибо за просмотр.
Старт нового потока по курсу по подготовке на собеседования - завтра будет подробный пост дополнительно.
Промокод PROMO10 - 10% скидка на все тарифы
Продажи с 15 июня по 29 июня 2025г
Тарифы
Отзывы
Необходимые данные для просмотра вебинара (сейчас можно смотреть)
Сделаю монтаж на днях и добавлю на Youtubе с тайм-кодами и с лекцией на CoreApp
Хочу всем сказать спасибо за просмотр.
Старт нового потока по курсу по подготовке на собеседования - завтра будет подробный пост дополнительно.
Промокод PROMO10 - 10% скидка на все тарифы
Продажи с 15 июня по 29 июня 2025г
Тарифы
Отзывы
rest-api-webhook-5obkd6n.gamma.site
Асинхронность в REST API: как тестировать Webhook
Асинхронность в REST API:
как тестировать Webhook
Дудник Н.В.
https://news.1rj.ru/str/info_course_protestinginfo
https://news.1rj.ru/str/protestinginfo
Нельзяграм
как тестировать Webhook
Дудник Н.В.
https://news.1rj.ru/str/info_course_protestinginfo
https://news.1rj.ru/str/protestinginfo
Нельзяграм
❤19🆒5👍3😎1
Онлайн курс по подготовке к собеседованиям и закреплению знаний.
Этот курс — результат моего опыта и знаний, которые я собрала, чтобы помочь вам разобраться в тестировании и уверенно пройти собеседования.
Предлагаю пройти курс с тестами, вебинарами и практикой!
Что вас ждет на курсе?
Программа курса
▪️Живые вебинары раз в месяц, где мы обсуждаем важные темы и разбираем вопросы, которые вас волнуют.
▪️Доступ к записям вебинаров с темами по собеседованиям, API, документации, SQL, техникам тест-дизайна и другим аспектам тестирования. Добавляю лекции к вебинарам и на этапе обновления презентаций.
▪️Практические задания (в зависимости от выбранного тарифа): ревью баг-репортов, применение тест-дизайна, тестированиеAPI (REST, graphQL, gRPC), SQL и работа с инструментами (Postman, Dbeaver, PostgreSQL).
▪️Проверка и рекомендации по вашему резюме и помощь в составлении (по тарифу).
▪️Поддержка в чате со мной на площадке CoreApp: возможность задавать вопросы, делиться успехами, и я всегда буду рядом, чтобы помочь.
Примечание: это не курс по тестированию с нуля.
Курс подойдет для тех кто прошел уже какие-то курсы по тестированию, для мидлов и для тех просто хочет закрепить и освежить свои знания.
⏳ Доступ к курсу от 4-6 месяцев в зависимости от тарифа
💡 Особенные условия:
💙с 15 июня по 23 июня — бонус вебинара - посмотреть!
💙Промокод PROMO10 дает 10% скидки до конца продаж - 29 июня.
📩 Для тех, кто уже учился:
Если вам нужно продлить доступ, напишите мне в Telegram @nadin_qa, указав свою почту. Я подберу для вас условия продления с учетом выполненных заданий.
👉 Узнать больше и выбрать подходящий тариф
Этот курс поможет вам разобраться в сложных темах, отработать знания на практике и подготовиться к собеседованиям так, чтобы чувствовать себя уверенно.
Ознакомиться с отзывами.
Вступить в канал оповещений по курсу: @info_course_protestinginfo
💳 Способы оплаты
✅ Быстрый платеж без ввода данных карты (для карт РФ).
✅ Оплата картами РФ (SberPay, расчетный счет ИП или ООО).
✅ Зарубежные карты (Visa/Mastercard, USD) – цена выше на 15-20% из-за конвертации.
✅ Оплата по частям (РФ):
"Частями от Продамус 3.0" (1,5, 3, 6 месяцев).
✅ Рассрочка для РФ и Казахстана:
Т-банк (3, 4, 6 мес.), ОТП Банк (3, 4 мес.), Сбер (6 мес.), ФридомФинанс (3 мес.).
📜 Сертификат
При успешном выполнении всех заданий вам будет выдан сертификат.
Жду вас на курсе. Буду рада помочь!
Вопросы по курсу - @nadin_qa
Этот курс — результат моего опыта и знаний, которые я собрала, чтобы помочь вам разобраться в тестировании и уверенно пройти собеседования.
Предлагаю пройти курс с тестами, вебинарами и практикой!
Что вас ждет на курсе?
Программа курса
▪️Живые вебинары раз в месяц, где мы обсуждаем важные темы и разбираем вопросы, которые вас волнуют.
▪️Доступ к записям вебинаров с темами по собеседованиям, API, документации, SQL, техникам тест-дизайна и другим аспектам тестирования. Добавляю лекции к вебинарам и на этапе обновления презентаций.
▪️Практические задания (в зависимости от выбранного тарифа): ревью баг-репортов, применение тест-дизайна, тестированиеAPI (REST, graphQL, gRPC), SQL и работа с инструментами (Postman, Dbeaver, PostgreSQL).
▪️Проверка и рекомендации по вашему резюме и помощь в составлении (по тарифу).
▪️Поддержка в чате со мной на площадке CoreApp: возможность задавать вопросы, делиться успехами, и я всегда буду рядом, чтобы помочь.
Примечание: это не курс по тестированию с нуля.
Курс подойдет для тех кто прошел уже какие-то курсы по тестированию, для мидлов и для тех просто хочет закрепить и освежить свои знания.
⏳ Доступ к курсу от 4-6 месяцев в зависимости от тарифа
💡 Особенные условия:
💙с 15 июня по 23 июня — бонус вебинара - посмотреть!
💙Промокод PROMO10 дает 10% скидки до конца продаж - 29 июня.
📩 Для тех, кто уже учился:
Если вам нужно продлить доступ, напишите мне в Telegram @nadin_qa, указав свою почту. Я подберу для вас условия продления с учетом выполненных заданий.
👉 Узнать больше и выбрать подходящий тариф
Этот курс поможет вам разобраться в сложных темах, отработать знания на практике и подготовиться к собеседованиям так, чтобы чувствовать себя уверенно.
Ознакомиться с отзывами.
Вступить в канал оповещений по курсу: @info_course_protestinginfo
💳 Способы оплаты
✅ Быстрый платеж без ввода данных карты (для карт РФ).
✅ Оплата картами РФ (SberPay, расчетный счет ИП или ООО).
✅ Зарубежные карты (Visa/Mastercard, USD) – цена выше на 15-20% из-за конвертации.
✅ Оплата по частям (РФ):
"Частями от Продамус 3.0" (1,5, 3, 6 месяцев).
✅ Рассрочка для РФ и Казахстана:
Т-банк (3, 4, 6 мес.), ОТП Банк (3, 4 мес.), Сбер (6 мес.), ФридомФинанс (3 мес.).
📜 Сертификат
При успешном выполнении всех заданий вам будет выдан сертификат.
Жду вас на курсе. Буду рада помочь!
Вопросы по курсу - @nadin_qa
protestinginfo.ru
Закрепление знаний по тестированию ПО
❤9🆒1 1
📚 ProTestingInfo 🔷 Канал по тестированию 📚 pinned «Онлайн курс по подготовке к собеседованиям и закреплению знаний. Этот курс — результат моего опыта и знаний, которые я собрала, чтобы помочь вам разобраться в тестировании и уверенно пройти собеседования. Предлагаю пройти курс с тестами, вебинарами и практикой!…»
Forwarded from Екатерина Нелюбина
Брала у Надежды самый полный тариф на курсе, осталась очень довольна наполняемостью курса! Надя дает очень много информации,обратной связи и также дополнительных материалов. Продуктивные вебинары,тесты для закрепления знаний, много практики на курсе. Благодаря чему я получила долгожданный оффер. Хочу еще раз сказать спасибо Наде и пожелать успехов в развитии.
50👏10❤7💘4 2 1
Всем привет!
Я добавила таймкоды, сделала небольшой монтаж, что видео получилось примерно чуть больше часа😄 .
▶️ YouTube
Смотреть Вебинар
00:01 - Введение в тему и план вебинара
00:26 - План вебинара
02:36 - О спикере и её опыте в тестировании
03:50 - Важность теории (интеграция, API) для собеседований
04:25 - Теория: Что такое интеграция и интеграционное тестирование?
06:00 - Способы интеграции между сервисами (API, брокеры, файлы, SDK)
07:28 - Аналогия: Синхронное vs Асинхронное взаимодействие (заказ в ресторане)
08:39- Техническое объяснение синхронной и асинхронной интеграции
10:49 - Основные виды API для интеграции (SOAP, REST, GraphQL, gRPC, WebSocket)
14:35 - Как реализуется асинхронность в REST API (Webhooks, Long Polling, SSE)
15:47 - Основная тема: Что такое веб-хук?
17:54 - Примеры использования веб-хуков в реальной жизни
22:30 - Что важно учитывать при тестировании веб-хуков (URL, Auth, Payload)
23:10 - Практический пример №1: Настройка веб-хуков в CoreApp
34:00 - Демонстрация и разбор дефекта в CoreApp
40:22 - Практический пример №2: Тестирование веб-хуков на сайте Vikunja
41:20 - Безопасность веб-хуков: что такое HMAC-подпись?
43:00 - Обзор интерфейса и OpenAPI документации Vikunja
46:44 - Практика: Настройка веб-хука в Vikunja через UI и создание проекта и задачи в нем через Postman или UI
51:33 - Использование webhook site для просмотра событий
59:07 - Практика: Проверка подлинности сообщения с помощью HMAC-подписи
01:02:15 - Демонстрация срабатывания веб-хука на удаление задачи
01:11:07 - Плюсы и минусы веб-хуков
01:11:53 - Ключевое отличие обычного API от веб-хуков
01:12:44 - Дополнительная литература для изучения
01:13:14 - Заключение и ответы на вопросы
Лекция-урок в текстовом формате на площадке CoreApp с обновленной презентаций, а также изучить платформу в случае выбора курса - перейти к уроку
▶️ Смотреть на RuTube
Видео вебинара
Пишите свои отзывы, вопросы, комментарии.
Обратная связь приветствуется.
Я добавила таймкоды, сделала небольшой монтаж, что видео получилось примерно чуть больше часа
Смотреть Вебинар
00:01 - Введение в тему и план вебинара
00:26 - План вебинара
02:36 - О спикере и её опыте в тестировании
03:50 - Важность теории (интеграция, API) для собеседований
04:25 - Теория: Что такое интеграция и интеграционное тестирование?
06:00 - Способы интеграции между сервисами (API, брокеры, файлы, SDK)
07:28 - Аналогия: Синхронное vs Асинхронное взаимодействие (заказ в ресторане)
08:39- Техническое объяснение синхронной и асинхронной интеграции
10:49 - Основные виды API для интеграции (SOAP, REST, GraphQL, gRPC, WebSocket)
14:35 - Как реализуется асинхронность в REST API (Webhooks, Long Polling, SSE)
15:47 - Основная тема: Что такое веб-хук?
17:54 - Примеры использования веб-хуков в реальной жизни
22:30 - Что важно учитывать при тестировании веб-хуков (URL, Auth, Payload)
23:10 - Практический пример №1: Настройка веб-хуков в CoreApp
34:00 - Демонстрация и разбор дефекта в CoreApp
40:22 - Практический пример №2: Тестирование веб-хуков на сайте Vikunja
41:20 - Безопасность веб-хуков: что такое HMAC-подпись?
43:00 - Обзор интерфейса и OpenAPI документации Vikunja
46:44 - Практика: Настройка веб-хука в Vikunja через UI и создание проекта и задачи в нем через Postman или UI
51:33 - Использование webhook site для просмотра событий
59:07 - Практика: Проверка подлинности сообщения с помощью HMAC-подписи
01:02:15 - Демонстрация срабатывания веб-хука на удаление задачи
01:11:07 - Плюсы и минусы веб-хуков
01:11:53 - Ключевое отличие обычного API от веб-хуков
01:12:44 - Дополнительная литература для изучения
01:13:14 - Заключение и ответы на вопросы
Лекция-урок в текстовом формате на площадке CoreApp с обновленной презентаций, а также изучить платформу в случае выбора курса - перейти к уроку
Видео вебинара
Пишите свои отзывы, вопросы, комментарии.
Обратная связь приветствуется.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Асинхронность в API: как тестировать Webhook
Необходимые данные
Презентация и коллекция - https://news.1rj.ru/str/protestinginfo/4552
Сайт презентации (VPN возможен) - https://rest-api-webhook-5obkd6n.gamma.site/
🔗 UI: try.vikunja.io/login
🔗 API документация: try.vikunja.io/api/v1/docs
Лекция в текстовом формате…
Презентация и коллекция - https://news.1rj.ru/str/protestinginfo/4552
Сайт презентации (VPN возможен) - https://rest-api-webhook-5obkd6n.gamma.site/
🔗 UI: try.vikunja.io/login
🔗 API документация: try.vikunja.io/api/v1/docs
Лекция в текстовом формате…
50🔥48👍13❤11❤🔥2✍2💯1🏆1🆒1
Forwarded from Оповещения по курсам от protestinginfo
Привет, Надя!
Хочу выразить свою благодарность за курс по тестам! Он оказался очень интересным и полезным, даже несмотря на мой опыт в тестировании. Мне было важно проверить свои знания, выявить слабые места и поработать над ними. Особенно понравилось, что в рамках курса разбирались популярные вопросы на собеседованиях и давались рекомендации по тому, как на них лучше отвечать.
Также хочу поблагодарить за предоставленные ссылки на сторонние ресурсы для более глубокого изучения темы и за оперативные ответы на все возникавшие у меня вопросы в процессе обучения. Я очень ценю обратную связь!
Отдельное спасибо за помощь в создании продаваемого резюме — я впервые увидела свое резюме таким впечатляющим! Теперь я чувствую себя гораздо более подготовленной к собеседованиям. Надя, спасибо за твой труд, профессионализм и поддержку!
Успехов тебе!
50🔥6❤4🆒1💘1
Что из перечисленного наиболее важно для взаимозаменяемости двух API-сервисов?
Anonymous Quiz
13%
Использование одинакового HTTP-сервера (например, nginx или FastAPI)
65%
Полное соответствие формата данных, структуры запроса и контракта
14%
Совпадение портов и URL-путей у сервисов
9%
Наличие общей системы логирования и единой авторизации (например, OAuth2)
👍10❤3👨💻2✍1
Какой способ версионирования REST API является наиболее прозрачным и удобным для мониторинга и логирования?
Anonymous Quiz
15%
Передача версии в теле ответа
13%
Использование query-параметра version=2
65%
Указание версии в URL, например, /v1/resource
8%
Передача версии в cookie
👍8✍6🆒3
Что означает идемпотентное поведение API при выполнении запроса?
Anonymous Quiz
28%
Запрос всегда возвращает одинаковый ответ, независимо от состояния ресурса или количества вызовов
48%
Повторные одинаковые запросы не изменяют состояние ресурса после первого выполнения
19%
Запрос не влияет на состояние данных на сервере и не изменяет их независимо от количества обращений
5%
Каждый запрос может быть выполнен только один раз, после чего дальнейшие вызовы отклоняются сервером
👍13🤩3👨💻3💯2👌1
Отвечайте на тесты, а потом будет практика с примерами на взаимозаменяемость, версионирование и идемпотентность для закрепления наших знаний!
❤13👌5✍3👨💻2👍1🔥1
📚 ProTestingInfo 🔷 Канал по тестированию 📚
ПРЕЗЕНТАЦИЯ Техники тест-дизайна и их применение на практике Благодарю за просмотр и жду ваших вопросов! Таймкоды Добавлены к вебинару
Вебинар_на_тему_Техники_тест_дизайна_и_их_применение_на_практике.pdf
5.1 MB
Обновленная презентация через gamma.app про техники тест-дизайна на практике. Вебинар актуален для подготовки на собеседования.
Напоминание:
Тест на основы и техники тест-дизайна
t.me/QuizBot?start=C3NLj51e
Кто еще не проходил этот тест, предлагаю повторить свои знания!
(В случае если тест не запускается, почистить историю бота).
Напоминание:
Тест на основы и техники тест-дизайна
t.me/QuizBot?start=C3NLj51e
Кто еще не проходил этот тест, предлагаю повторить свои знания!
(В случае если тест не запускается, почистить историю бота).
50❤15✍4👍4👌2
📚 ProTestingInfo 🔷 Канал по тестированию 📚
2. Gorest REST API
GET
https://gorest.co.in/public/v2/users
cURL
curl --location 'https://gorest.co.in/public/v2/users' \
--header 'Authorization: Bearer 900aa8a90c6b6.......'
Требования
Get your access token
This API supports only "HTTP Bearer Tokens" and "Query parameter Auth"
Header - "Authorization: Bearer ACCESS-TOKEN"
Я здесь буду использовать API key, а про Bearer Token поговорим чуть позже.
Итак, я показала, как настроить API key в Postman. Теперь можно переходить к практике, копируйте запросы и пробуйте.
Дополнение.
Чтобы упростить работу, можно объявить API key в переменных коллекции во вкладке Variables.
«Authorization» в коллекции:
Key: api_key, Value: {{api_key}} (если используем переменную).
Add to …
GET
https://gorest.co.in/public/v2/users
cURL
curl --location 'https://gorest.co.in/public/v2/users' \
--header 'Authorization: Bearer 900aa8a90c6b6.......'
Требования
Get your access token
This API supports only "HTTP Bearer Tokens" and "Query parameter Auth"
Header - "Authorization: Bearer ACCESS-TOKEN"
Я здесь буду использовать API key, а про Bearer Token поговорим чуть позже.
Итак, я показала, как настроить API key в Postman. Теперь можно переходить к практике, копируйте запросы и пробуйте.
Дополнение.
Чтобы упростить работу, можно объявить API key в переменных коллекции во вкладке Variables.
«Authorization» в коллекции:
Key: api_key, Value: {{api_key}} (если используем переменную).
Add to …
Практическое задание на сайте gorest.co.in (придумала для вас):
Для начинающих тестировщиков и тех, кто ранее не работал с данной темой — хорошая возможность ознакомиться с основами.
Для тех, кто уже знаком с темой — возможность закрепить знания.
Предусловия:
1. Зарегистрироваться на сайте gorest.co.in и получить токен доступа.
2. Создать пользователя с помощью запроса:
POST https://gorest.co.in/public/v2/users
В теле запроса указать имя, пол, статус и уникальный email.
3. Получить значение id созданного пользователя, например: id = 123345.
Задания:
▪️ 1. Взаимозаменяемость
Выполнить GET-запрос, передав идентификатор пользователя (id) разными способами:
как часть пути (path parameter):
как path variable:
как query-параметр:
🔍 Обратить внимание: через query-параметр сервер возвращает другой ответ. Сравнить результаты.
Вывод:
Взаимозаменяемость — это способность API обрабатывать параметры, переданные в разных частях запроса (в пути URL, или через path / query на вкладке params в Postman), возвращая одинаковый результат (поддерживается не всеми API).
▪️ 2. Версионирование
Выполнить GET-запрос с разными версиями API:
API Version 2:
API Version 1:
API Version 0 (устаревший путь):
🔍 Обратить внимание на статус-код и тело ответа от сервера. Проанализировать результаты и сравнить с документацией на сайте gorest.co.in.
Вывод:
Версионирование API — это способ управлять изменениями в API без нарушения работы существующих клиентов. Оно позволяет развивать API, внедрять несовместимые изменения, не ломая текущие интеграции. При переходе на новую версию важно прозрачно обозначить устаревание предыдущей и дать время на миграцию.
▪️ 3. Идемпотентность
Выполнить один и тот же GET-запрос три раза подряд:
🔍 Обратить внимание, что многократное выполнение одного и того же запроса не изменяет состояние ресурса. Ответ сервера должен быть одинаковым.
Вывод:
Идемпотентность — это свойство API (точнее, HTTP-методов как GET, PUT, DELETE), при котором многократное выполнение одного и того же запроса приводит к одному и тому же результату, независимо от количества повторов (точнее, повторные вызовы не изменяют состояние ресурса и возвращают одинаковый результат).
Задания предназначены для ознакомления и закрепления теории на практике.
Если остались вопросы — пишите. Также можно прислать отчёт в Google Docs с описанием шагов и скриншотами: @nadin_qa
Для начинающих тестировщиков и тех, кто ранее не работал с данной темой — хорошая возможность ознакомиться с основами.
Для тех, кто уже знаком с темой — возможность закрепить знания.
Предусловия:
1. Зарегистрироваться на сайте gorest.co.in и получить токен доступа.
2. Создать пользователя с помощью запроса:
POST https://gorest.co.in/public/v2/users
В теле запроса указать имя, пол, статус и уникальный email.
3. Получить значение id созданного пользователя, например: id = 123345.
Задания:
Выполнить GET-запрос, передав идентификатор пользователя (id) разными способами:
как часть пути (path parameter):
GET https://gorest.co.in/public/v2/users/123345
как path variable:
GET https://gorest.co.in/public/v2/users/:id, где id = 123345
как query-параметр:
GET https://gorest.co.in/public/v2/users?id=123345
Вывод:
Взаимозаменяемость — это способность API обрабатывать параметры, переданные в разных частях запроса (в пути URL, или через path / query на вкладке params в Postman), возвращая одинаковый результат (поддерживается не всеми API).
Выполнить GET-запрос с разными версиями API:
API Version 2:
GET https://gorest.co.in/public/v2/users/123345
API Version 1:
GET https://gorest.co.in/public/v1/users/123345
API Version 0 (устаревший путь):
GET https://gorest.co.in/public-api/users/123345
Вывод:
Версионирование API — это способ управлять изменениями в API без нарушения работы существующих клиентов. Оно позволяет развивать API, внедрять несовместимые изменения, не ломая текущие интеграции. При переходе на новую версию важно прозрачно обозначить устаревание предыдущей и дать время на миграцию.
Выполнить один и тот же GET-запрос три раза подряд:
GET https://gorest.co.in/public/v2/users/123345
Вывод:
Идемпотентность — это свойство API (точнее, HTTP-методов как GET, PUT, DELETE), при котором многократное выполнение одного и того же запроса приводит к одному и тому же результату, независимо от количества повторов (точнее, повторные вызовы не изменяют состояние ресурса и возвращают одинаковый результат).
Задания предназначены для ознакомления и закрепления теории на практике.
Если остались вопросы — пишите. Также можно прислать отчёт в Google Docs с описанием шагов и скриншотами: @nadin_qa
Please open Telegram to view this post
VIEW IN TELEGRAM
226🔥20❤7✍3👌2 2
📚 ProTestingInfo 🔷 Канал по тестированию 📚 pinned Deleted message
Повторение: какие задания могут быть на API?
Еще одно практическое задание
Коллекция в Swagger, с которой предстоит работать: https://petstore.swagger.io/
🔳Предусловия:
▪️ Base URL: https://petstore.swagger.io/
▪️Request URL: https://petstore.swagger.io/v2/pet
▪️ Headers: 'Content-Type': 'application/json'
▪️В теле запроса указывать статус питомца: "status": "available"
📝 Задание: создать коллекцию в Postman
В коллекции должны быть следующие запросы:
1. Создание нового питомца (POST /pet)
Заполнить все ключи тела запроса своими примерами значений.
На вкладке Scripts прописать скрипт, который:
- получает из тела ответа id созданного питомца;
- сохраняет id в переменную коллекции.
Совет: в Postman может возникать некорректное поведение при сохранении значения через сниппет pm.collectionVariables.set(...). Чтобы избежать проблем, можно задать id вручную и проверить.
2. Получение и проверка значения tags питомца
Написать скрипт, который:
- извлекает name из tags в теле ответа;
- сохраняет его в переменную коллекции.
Добавить проверку с использованием pm.test, чтобы убедиться, название tags из тела запроса равно названию tags из тела ответа сервера.
📖 Примеры скриптов — см. пост: https://news.1rj.ru/str/info_course_protestinginfo/267
3. Получение информации о питомце по id (GET /pet/{petId})
Использовать переменную id, сохранённую в коллекции ранее.
На вкладке Scripts прописать скрипт, который отправит следующий запрос:
Обновление данных питомца (POST /pet/{petId})
- Изменить значение поля status на "sold"
- Использовать pm.sendRequest.
4. Негативные проверки
Создать отдельные запросы, эмулирующие ошибки:
- Невалидный id при создании питомца
Ожидаемый ответ: 400 Bad Request (bad input)
- Несуществующий id при получении питомца
Ожидаемый ответ: 404 Not Found (Pet not found)
- Неподдерживаемый формат данных при создании питомца
Ожидаемый ответ: 415 Unsupported Media Type
- Серверная ошибка при создании питомца
Добиться, чтобы сервер вернул ошибку 500, например, такую:
Подумать, какие данные могут вызвать такую ошибку, и протестироватьразные варианты.
📤 Экспортировать коллекцию:
Postman → Export → Export Collection и отправить её на проверку @nadin_qa.
Скоро пришлю ещё одно задание на API — уже из другой документации.
Анонс: в августе планирую провести вебинар — тема пока в выборе. Это может быть либо тестирование интеграций при оплате, либо работа с сертификатами в Postman. Сейчас подбираю подходящие сервисы с возможностью бесплатного использования..
Еще одно практическое задание
Коллекция в Swagger, с которой предстоит работать: https://petstore.swagger.io/
🔳Предусловия:
▪️Request URL: https://petstore.swagger.io/v2/pet
▪️В теле запроса указывать статус питомца: "status": "available"
📝 Задание: создать коллекцию в Postman
В коллекции должны быть следующие запросы:
1. Создание нового питомца (POST /pet)
Заполнить все ключи тела запроса своими примерами значений.
На вкладке Scripts прописать скрипт, который:
- получает из тела ответа id созданного питомца;
- сохраняет id в переменную коллекции.
Совет: в Postman может возникать некорректное поведение при сохранении значения через сниппет pm.collectionVariables.set(...). Чтобы избежать проблем, можно задать id вручную и проверить.
2. Получение и проверка значения tags питомца
Написать скрипт, который:
- извлекает name из tags в теле ответа;
- сохраняет его в переменную коллекции.
Добавить проверку с использованием pm.test, чтобы убедиться, название tags из тела запроса равно названию tags из тела ответа сервера.
3. Получение информации о питомце по id (GET /pet/{petId})
Использовать переменную id, сохранённую в коллекции ранее.
На вкладке Scripts прописать скрипт, который отправит следующий запрос:
Обновление данных питомца (POST /pet/{petId})
- Изменить значение поля status на "sold"
- Использовать pm.sendRequest.
4. Негативные проверки
Создать отдельные запросы, эмулирующие ошибки:
- Невалидный id при создании питомца
Ожидаемый ответ: 400 Bad Request (bad input)
- Несуществующий id при получении питомца
Ожидаемый ответ: 404 Not Found (Pet not found)
- Неподдерживаемый формат данных при создании питомца
Ожидаемый ответ: 415 Unsupported Media Type
- Серверная ошибка при создании питомца
Добиться, чтобы сервер вернул ошибку 500, например, такую:
{
"code": 500,
"type": "unknown",
"message": "something bad happened"
}Подумать, какие данные могут вызвать такую ошибку, и протестироватьразные варианты.
📤 Экспортировать коллекцию:
Postman → Export → Export Collection и отправить её на проверку @nadin_qa.
Скоро пришлю ещё одно задание на API — уже из другой документации.
Анонс: в августе планирую провести вебинар — тема пока в выборе. Это может быть либо тестирование интеграций при оплате, либо работа с сертификатами в Postman. Сейчас подбираю подходящие сервисы с возможностью бесплатного использования..
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Оповещения по курсам от protestinginfo
Привет всем.
Я только сейчас заметила, что некоторые объекты в Postman стали Deprecated, а я давала шпаргалку своим менти по написанию некоторых команд.
И сейчас немного изменила шпаргалку и хочу поделиться и с вами.
- Извлечение тела запроса:
var requestBody…
Я только сейчас заметила, что некоторые объекты в Postman стали Deprecated, а я давала шпаргалку своим менти по написанию некоторых команд.
И сейчас немного изменила шпаргалку и хочу поделиться и с вами.
- Извлечение тела запроса:
var requestBody…
164❤12✍4🆒3⚡2