С каждым днем популярность Javascript возрастает. Это, определенно, лучший язык сценариев, который позволяет создавать захватывающие интерфейсы, облегчает разработку веб-приложений и делает ваши сайты интерактивными и удобными в использовании.
Эта статья предназначена для ускорения и упрощения процесса освоения базовой функциональности инструмента Postman.
Компания позиционирует свой продукт как платформу для разработки API.
Но почему все любят платформу Postman?
— Это мощный инструмент для тестирования и разработки API, который в то же время имеет простой и интуитивно понятный интерфейс. Если вы впервые открываете эту программу и знаете разницу между POST и GET, то вы легко сможете отправить свой первый запрос. Однако есть несколько нетривиальных приемов, которые значительно облегчают жизнь.
Мы ищем нужную кнопку (1) в верхней центральной части и создаем рабочее пространство (или выбираем из уже имеющихся, как делаю я). Понятие рабочее пространство включает в себя группировку ваших проектов — это может быть папка или рабочий стол, если вам так хочется.
После этого мы создаем рабочее пространство.
Затем мы нажимаем плюс (2) и создаем вкладку запроса.
<фигура>
Все предельно просто, используя GET-запрос: задаем url, добавляем параметры (можно «включать» и «выключать» параметры), нажимаем send и видим ответ в нижней половине экрана (на сервере я просто возвращаю html-страницу и представляю все входящие параметры в формате json). Переключаясь между вкладками в области ответа, мы можем найти любую информацию и даже переключаться между представлениями и форматами вывода.
<фигура>
Справа от кнопки "Отправить" находится кнопка Сохранить. При попытке сохранения, почтальон попросит вас указать/создать коллекцию. Коллекция - это группа запросов в рабочей области (отсортированная, например, по проекту). Я создал коллекцию test_collection. Мы сохраним ваш запрос в ней.
Окружение Postman
Давайте’ продолжим.
В Postman существует понятие окружения — это набор переменных, которым можно присвоить значение и использовать в процессе работы. Окружений может быть несколько (для продаж, для этапов, для разных версий — для чего угодно). Среда привязана к операционной среде: у каждой операционной среды есть своя среда postman.
Нажимаем на шестеренку в правом верхнем углу и создаем окружение.
<фигура>
Я создал среду local_test_env с 2 переменными: host и username. Для значений переменных есть 2 колонки. Единственное отличие заключается в том, что если вы поделитесь своим проектом с командой, то значение из первого столбца будет общим, а запросы, которые вы делаете на своем ПК, будут использовать второй столбец. Синхронизация учетной записи postman также происходит из первого столбца.
Я обычно дублирую их — лучше взять за привычку заполнять все подряд, и заменять данные в случае необходимости.
Выбираем наше окружение как активное (есть выпадающий список слева от шестеренки).
Давайте’отправим POST с использованием переменных. Мы должны добавить вкладку и выбрать тип POST-запроса. Мы хотим использовать переменную host из нашего окружения. Переменные записываются в двойных фигурных скобках. Если мы поставим скобки и начнем писать имя переменной, то postman предложит нам выбрать переменную из текущего окружения. Давайте’выберем. Поскольку это POST-запрос, мы переходим на вкладку body (под адресной строкой) и добавляем параметр username, значением которого будет переменная a variable. Я добавил еще несколько параметров для наглядности, сервер вернет их сумму.
<фигура>
Сервер вернул нам json-строку.
В Postman мы можем взаимодействовать с полученным результатом, программно отправлять запросы и писать тесты.
Несколько слов о тестах
Мы открываем консоль с помощью комбинации cmd + alt + c (ctrl + alt + c для Windows). Я сделал один запрос и вижу его логи. Кроме того, вы можете вывести что-то в консоль следующей командой:
console.log("что-то")
Тесты пишутся на вкладке Tests.
Я приведу несколько примеров простых тестов, а затем мы посмотрим, как с ними работать.
pm.test("Код состояния 200",function(){
pm.response.to.have.status(200);});
Это обычная анонимная функция. В данном случае мы говорим, что ответ должен иметь статус 200.
Благодаря тому, что мы получаем json-строку в ответе сервера, мы можем разобрать ее в переменную. Давайте сделаем это со следующей строкой:
var jsonData = pm.response.json();
Тогда мы используем новую переменную:
pm.test("контрольное число равно 9",function(){
pm.expect(jsonData.total).to.eql(9);});
В данном примере мы ожидаем, что total в jsonData будет эквивалентен 9.
А теперь давайте попробуем сравнить полученное значение поля «name» из jsonData с переменной username, которая есть в нашем окружении.
Вы можете получить переменную из окружения следующим образом:
pm.environment.get('username')
А теперь тест на эквивалентность:
pm.test("check name equal variable username",function(){
pm.expect(jsonData.name).to.eql(pm.environment.get('username'));});
В окружении можно не только читать, но и писать.
Мы пытаемся получить переменную "total" из окружения (ее там еще нет).
var sum = pm.environment.get('total');
Поскольку мы ничего не получили из окружения, то и в «сумме» ничего не будет. Мы создадим «total» в окружении и запишем туда значение, полученное из jsonData.total.
Все тесты, кроме первого, прошли. Сервер возвращает нам код 201, в то время как мы ожидаем 200. Наша переменная находится в окружении, так что все работает.
А теперь, когда вы немного разобрались с postman, давайте попробуем отправить запрос, или скорее несколько.
Задача: отправить определенное количество запросов, каждый раз меняя параметр.
Сначала мы создаем новую коллекцию циклических запросов,
Затем мы создаем POST-запрос,
После этого тела мы добавляем параметр «digit», который будет меняться в запросе (мы берем значение из окружения).
В закладке script предзапроса мы добавляем следующий код:
(Мы проверяем, есть ли в окружении переменная «digits», и создаем ее, если такой переменной нет. Мы выводим массив «цифр» в консоль перед запросом. Далее мы берем первый элемент из «цифр», удаляя значение из самого массива. И устанавливаем это значение в окружение для «digit» и «digits». В digits уже на один первый элемент меньше.)
На вкладке digit» в digits» вы можете установить значение.
(Мы берем «digit» и «digits» из окружения и выводим некоторую информацию в консоль. Если «цифра» не пуста, мы задаем следующий запрос setNextRequest и передаем текущий запрос в качестве параметра. В противном случае мы говорим, что больше ничего делать не нужно, очищаем переменные окружения и выводим строку «stop» в консоль.)
После всего этого мы указываем на то, что в консоли не будет ничего сделано.
После всего этого мы открываем Runner (в левом верхнем углу), выбираем нашу новую коллекцию и наш запрос цикла, выбираем окружение и нажимаем Run loop.
<фигура>
В бегуне мы видим, что выполнено 6 запросов.
<фигура>
Затем открываем консоль и смотрим логи:
Вывод
Мы протестировали некоторые из возможностей Postman’ на практике, убедившись, что это действительно очень удобная и многофункциональная платформа разработки, упрощающая процессы разработки и тестирования API.
Всем привет, недавно у меня появилось желание освоить библиотеку Socket.IO и создать чат-приложение, так сказать, закрепить теоретические знания практикой.
Релиз фреймворка Vue.js 2.0 состоялся еще в 2016 году, но многие владельцы технологических компаний и Javascript разработчики все еще не решаются использовать его в своих проектах. В этой статье мы рассмотрим ключевые моменты данного решения.
Сегодня разработку одностраничных приложений сложно представить без Angular.js. Давайте вместе разберемся, что это за «фрукт» и какие у него преимущества.
Мы уже рассказывали, почему предпочитаем работать с AngularJS, а сегодня хотели бы поделиться наблюдениями о том, какие известные сайты были созданы с его помощью.
Grunt и Gulp являются инструментами для сборки веб-приложений, призванными автоматизировать повторяющиеся процессы вроде конкатенации (склеивания) файлов, сжатия картинок, таблиц стилей и файлов JavaScript. В этой статье мы попытались разобраться, в чем различие между Grunt и Gulp.
Автоматизаторов сборки есть великое множество, бери не хочу, но многие не подходят для простых задач. Ниже будет описание того, что используют для более быстрой работы над фронтендом. Кому интересно — прошу под кат.
Что же такое Java и откуда она к нам пришла? А пришла она к нам с далёкого 1995. Поначалу язык назывался Oak («дуб»), разрабатывал его бородатый Джеймсон Гослинг для программирования бытовых электронных устройств.
Мы ценим вашу конфиденциальность
Мы используем файлы cookie для улучшения вашего опыт просмотра, предоставления персонализированной рекламы или контента, а также для анализа трафика. Нажимая кнопку "Принять все", вы соглашаетесь с использованием нами файлов cookie Политика конфиденциальности
Центр настроек согласия
Cookie Usage
Мы используем файлы cookie для персонализации контента и рекламы, обеспечения функций соцсетей и анализа трафика. Мы также передаем информацию о использовании нашего сайта партнерам по соцсетям, рекламе и аналитике, которые могут объединять ее с другой информацией, предоставленной вами или собранной в результате использования их услуг. Больше о cookies, которые мы используем – в нашей Политике конфиденциальности
Необходимые файлы cookieВсегда включено
Необходимые файлы cookie помогают сделать сайт удобным для использования, обеспечивая такие функции, как навигация по странице и доступ к защищенным областям. Без этих файлов сайт не может функционировать должным образом.
Аналитические файлы cookie
Аналитические файлы cookie помогают владельцам сайтов понять, как посетители взаимодействуют с сайтами, собирая и предоставляя информацию анонимно.
Функциональные файлы cookie
Функциональные файлы cookie позволяют веб-сайту запоминать информацию, которая изменяет поведение или внешний вид веб-сайта, например, предпочитаемый язык или регион, в котором вы находитесь.
Рекламные файлы cookie
Рекламные файлы cookie используются для отслеживания посетителей на разных сайтах. Их цель - отображение релевантной и интересной рекламы для каждого пользователя, что, таким образом, более ценно для издателей и сторонних рекламодателей.