Программирование [О. Назина] [software-testing.ru] Автоматизация тестов для REST API при помощи Postman (2021)

Бывалый
Команда форума
20 Фев 2019
28,240
1,191,149
Автор: О. Назина
Название: Автоматизация тестов для REST API при помощи Postman (2021)

Безымянный.png


Описание:

На курсе мы будем писать автотесты для API-методов в программе Postman. Мы пройдем полный цикл — от первого автотеста до настройки CI (Continuous Integration). От Math.random до циклов и условий. От простого include до регулярных выражений. Это курс вам подойдет, если:

  1. Вы не умеете автоматизировать — Postman дает отличный и простой старт.
  2. Вы тестируете API черным ящиком — например, это «чужое» API, а вы работаете в интеграторе
После прохождения курса вы сможете настроить систему автотестов для ваших API-методов, даже если ранее на проекте никакой автоматизации не было вообще!

Главная фишка курса — МНОГО практики! На курсе 57 (!) обязательных домашних заданий. Обучение идет 14 недель (3,5 месяца) — 13 занятий и неделя в конце на «хвосты».

Входной порог! Я предполагаю, что вы:

  1. Знаете английский на уровне «чтение со словарем / гуглтранслейтом». Мы будем тестировать в том числе JIRA API по , которая на английском. Вы должны прочитать описание метода и понять его.
  2. Знаете любой язык программирования на уровне школьной программы или «читал книгу о нем 3 года назад» — не падаете в обморок от слов « », «массивы», знаете какие бывают и . Тренер расскажет про эти понятия в привязке к примерам, но вам будет проще, если что-то почитаете заранее. Посмотрите , если он непонятный, то на курс рановато.
  3. Умеете тестировать: знаете про классы эквивалентности и граничные значения. Подробнее см в блоке «Вопросы и ответы»

Программа курса

Спойлер
1. Первый тест
  1. Пишем первый автотест — на status code. Разбор автотеста, что есть что.
  2. Экскурс в JS:
    1. Синтаксис функций
    2. Анонимные функции
    3. Как вызывать функцию и функцию объекта
  3. Объект pm
  4. Название автотеста
  5. Консоль постмана
  6. Старый VS новый постман
2. Библиотеки Chai.js и Node.js
  1. Chai.js
    1. Как писать “я ожидаю” в тесте?
    2. Какие возможности открывает pm.expect
    3. 37 способов написать тесты на status code
  2. Node.js
    1. Assert в автотестах
    2. Еще 11 способов написать тесты на status code
3. Объекты и массивы: достаем данные
Разбираем тест на JSON из snippet

  1. Переменные var, let, const
  2. Как обратиться к массиву
  3. Как обратиться к объекту
  4. Как достать значение из простого JSON
  5. Как достать значение из дерева JSON
  6. Как достать значение из XML
  7. Object.keys
  8. Почему консоль не помогает достать заголовки из pm.response
4. Базовые тесты на ответ сервера
  1. Тесты на text
  2. Тесты на JSON из документации Postman
  3. Разница между equal, eql и deep.equal
  4. Тесты на include — include, deep.include, nested.include
  5. Тесты на свойства объекта — property, keys
5. Базовые тесты на ответ сервера (продолжение)
  1. Изучаем типы элементов — .a, .instanceof
  2. Прототипы и наследование в JS
  3. Тесты на массивы в Postman-е (Chai.js)
  4. Тесты на строку
  5. Тесты на число
  6. Тесты на JSON через Node.js
  7. Тесты на XML в ответе
  8. Тесты на заголовки
  9. Тесты на Cookie
6. Переменные и окружения
  1. Как запустить несколько запросов подряд
  2. Как запустить один запрос несколько раз
  3. Как передать рандомные значения в Postman
  4. Как считать данные из файла
  5. Как написать тест на данные из файла
  6. Переменные в Postman
    1. Локальные переменные, local
    2. Переменные из файла, data
    3. Переменные окружения, environment
    4. Переменные коллекции, collection
    5. Глобальные переменные, global
  7. Переменная или строка? Учимся различать
  8. Переиспользование переменных
7. Условия и циклы
  1. Условие if else
  2. Цикл while
  3. Цикл for
  4. Цикл forEach
  5. SendRequest в тестах
  6. Логические операторы &&, ||
8. Math.floor и другие полезные функции JS для тестов
  1. Правила описания команд
  2. Объявление переменной в JS
  3. Методы и свойства примитивных типов:
    1. Строки
    2. Числа
    3. Массивы
    4. Даты
  4. Математические функции
  5. Пример «сложного» теста
9. CI: Newman + Jenkins
  1. Что такое CI
  2. Устанавливаем Newman
  3. Newman — запуск тестов
  4. Отчеты в Newman
  5. Jenkins + Newman, настраиваем связь
  6. Триггеры в jenkins — запуск задачи по расписанию
  7. Запуск задачи в jenkins через curl
  8. Pipeline, что это такое? Пишем первый скрипт
  9. Jenkins + Git
  10. Разделение ролей в Jenkins
10. Регулярные выражения (regexp)
  1. Что такое регулярные выражения
  2. Как и где они применяются
  3. Где можно их пощупать
  4. Поиск в регулярных выражениях
    1. Поиск текста
    2. Поиск любого символа
    3. Поиск по набору символов
    4. Перечисление вариантов
    5. Метасимволы
    6. Квантификаторы
    7. Позиция внутри строки
  5. Замена с помощью регулярных выражениях
  6. Regexp в автотестах Postman-а
11. Валидация ответа по JSON Schema
  1. Что такое JSON Schema
  2. Типы данных в JSON Schema
    1. Строка
    2. Число
    3. Объект
    4. Массив
    5. Boolean
    6. Null
    7. Not
  3. Аннотации в JSON Schema
  4. if else в JSON Schema
  5. Валидация JSON Schema в Postman-e
12. Тесты на HTML
  1. Что такое HTML
  2. Как написать автотест на HTML
  3. Basic jQuery Selectors
  4. jQuery: get Content and Attributes
  5. Attribute selectors в jQuery
  6. Документация Cheerio
13. Организация тестов. SQL через Postman
  1. Организация и рефакторинг тестов в Postman
  2. Postman VS REST-assured
  3. Postman vs Framework в коде — когда что использовать
  4. SQL-запросы через Postman — зачем и как?
  5. Подводим итоги курса


Подробнее:



Для просмотра содержимого вам необходимо авторизоваться


Скачать:



Для просмотра содержимого вам необходимо авторизоваться