[Software-Testing] Автоматизация тестов для REST API при помощи Postman (Ольга Назина)
Вы получите: материалы онлайн тренинга. О том, как настроить автоматизацию API-тестов. От первого теста до настройки CI. Главная фишка курса — много практики! Обучение идет 14 недель (3,5 месяца) — 13 занятий.
Что будет:
- На курсе вы научитесь писать автотесты для API-методов в программе Postman. Пройдете полный цикл — от первого автотеста до настройки CI (Continuous Integration). От Math.random до циклов и условий. От простого include до регулярных выражений.
- Вы не умеете автоматизировать — Postman дает отличный и простой старт.
- Вы тестируете API черным ящиком — например, это «чужое» API, а вы работаете в интеграторе
Что в результате:
- После прохождения курса вы сможете настроить систему автотестов для ваших API-методов, даже если ранее на проекте никакой автоматизации не было вообще!
- Знаете английский на уровне «чтение со словарем / гуглтранслейтом». Мы будем тестировать в том числе JIRA API по стандартной документации, которая на английском. Вы должны прочитать описание метода и понять его.
- Знаете любой язык программирования на уровне школьной программы или «читал книгу о нем 3 года назад» — не падаете в обморок от слов 'переменные', «массивы», знаете какие бывают типы данных и операторы сравнения. Тренер расскажет про эти понятия в привязке к примерам, но вам будет проще, если что-то почитаете заранее. Посмотрите этот кусок лекции, если он непонятный, то на курс рановато.
- Умеете тестировать: знаете про классы эквивалентности и граничные значения. Подробнее см в блоке «Вопросы и ответы»
- Пишем первый автотест — на status code. Разбор автотеста, что есть что.
- Экскурс в JS:
- Синтаксис функций
- Анонимные функции
- Как вызывать функцию и функцию объекта
- Объект pm
- Название автотеста
- Консоль постмана
- Старый VS новый постман
- Chai.js
- Как писать “я ожидаю” в тесте?
- Какие возможности открывает pm.expect
- 37 способов написать тесты на status code
- Node.js
- Assert в автотестах
- Еще 11 способов написать тесты на status code
Разбираем тест на JSON из snippet
- Переменные var, let, const
- Как обратиться к массиву
- Как обратиться к объекту
- Как достать значение из простого JSON
- Как достать значение из дерева JSON
- Как достать значение из XML
- Object.keys
- Почему консоль не помогает достать заголовки из pm.response
- Тесты на text
- Тесты на JSON из документации Postman
- Разница между equal, eql и deep.equal
- Тесты на include — include, deep.include, nested.include
- Тесты на свойства объекта — property, keys
- Изучаем типы элементов — .a, .instanceof
- Прототипы и наследование в JS
- Тесты на массивы в Postman-е (Chai.js)
- Тесты на строку
- Тесты на число
- Тесты на JSON через Node.js
- Тесты на XML в ответе
- Тесты на заголовки
- Тесты на Cookie
- Как запустить несколько запросов подряд
- Как запустить один запрос несколько раз
- Как передать рандомные значения в Postman
- Как считать данные из файла
- Как написать тест на данные из файла
- Переменные в Postman
- Локальные переменные, local
- Переменные из файла, data
- Переменные окружения, environment
- Переменные коллекции, collection
- Глобальные переменные, global
- Переменная или строка? Учимся различать
- Переиспользование переменных
- Условие if else
- Цикл while
- Цикл for
- Цикл forEach
- SendRequest в тестах
- Логические операторы &&, ||
- Правила описания команд
- Объявление переменной в JS
- Методы и свойства примитивных типов:
- Строки
- Числа
- Массивы
- Даты
- Математические функции
- Пример «сложного» теста
- Что такое CI
- Устанавливаем Newman
- Newman — запуск тестов
- Отчеты в Newman
- Jenkins + Newman, настраиваем связь
- Триггеры в jenkins — запуск задачи по расписанию
- Запуск задачи в jenkins через curl
- Pipeline, что это такое? Пишем первый скрипт
- Jenkins + Git
- Разделение ролей в Jenkins
- Что такое регулярные выражения
- Как и где они применяются
- Где можно их пощупать
- Поиск в регулярных выражениях
- Поиск текста
- Поиск любого символа
- Поиск по набору символов
- Перечисление вариантов
- Метасимволы
- Квантификаторы
- Позиция внутри строки
- Замена с помощью регулярных выражениях
- Regexp в автотестах Postman-а
- Что такое JSON Schema
- Типы данных в JSON Schema
- Строка
- Число
- Объект
- Массив
- Boolean
- Null
- Not
- Аннотации в JSON Schema
- if else в JSON Schema
- Валидация JSON Schema в Postman-e
- Что такое HTML
- Как написать автотест на HTML
- Basic jQuery Selectors
- jQuery: get Content and Attributes
- Attribute selectors в jQuery
- Документация Cheerio
- Организация и рефакторинг тестов в Postman
- Postman VS REST-assured
- Postman vs Framework в коде — когда что использовать
- SQL-запросы через Postman — зачем и как?
- Подводим итоги курса