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