Ну наконец то! Мы запускаем нашу закрытую бета-версию TestMace. Эта статья станет первой в серии статей о нашем продукте, его интерфейсе, основных функциях и преимуществах. Поскольку мы все еще находимся на стадии разработки, в представленном в статье продукте могут быть некоторые отличия. Давайте начнем!
Подпишитесь здесь, чтобы получить ссылку для скачивания: https://client.testmace.com
Ваш первый запуск
Запустив продукт в первый раз, вы увидите:
Давайте внимательно рассмотрим каждую часть интерфейса.
Вы можете увидеть панель инструментов вверху экрана. Пока вы можете сделать следующее:
- Отменить и повторить свои действия. На данный момент поддерживаются все действия по изменению проектов и узлов (см. Ниже).
- Работайте с куки-файлами через диалог куки-файлов.
- Сконфигурируйте и выберите свою среду.
Основной интерфейс приложения разделен на две части - боковую панель и рабочую область. На боковой панели есть верхняя и нижняя части:
Верхний раздел предназначен для работы с текущим проектом.
Проект представляет собой иерархический набор узлов, которые физически и логически связаны в одном каталоге. Подробнее о работе над проектом мы расскажем в следующей статье.
На боковой панели также есть панель Scratches, где сохраняются временные (или «быстрые») запросы пользователей.
И последняя часть интерфейса - рабочая область - находится прямо посередине экрана. Теперь он пуст, но давайте создадим наш первый запрос, чтобы он выглядел лучше.
Типы узлов
Узел - это запись в списке царапин или в любом элементе дерева проекта. Есть несколько типов узлов:
- RequestStep. Это узел, который можно использовать для отправки запроса. Он может иметь только один узел утверждения в качестве дочернего элемента.
- Утверждение. Этот используется для написания тестов. Это может быть дочерний узел только для узла RequestStep.
- Папка. Это позволяет сгруппировать под ним узлы Folder и RequestStep.
- Проект. Это корневой узел, который создается автоматически при запуске нового проекта. Функционально он идентичен узлу папки.
В Scratches вы можете создавать только узлы RequestStep и Assertion, при этом вы можете добавлять в проект любые типы узлов и строить иерархическую структуру любой сложности. Более того, используя узлы папки, вы даже можете создавать сценарии запросов и тестировать их с помощью утверждения. Это будет описано ниже.
Наша первая просьба
Чтобы создать запрос, вам нужно нажать на +, что прямо под панелью инструментов:
Затем вы увидите интерфейс конфигурации запроса, и на панель Scratches будет добавлена новая запись:
Поздравляем, вы только что создали черновик запроса! Теперь нам осталось только настроить его. Интерфейс конфигурации запросов TestMace очень похож на один из других HTTP-клиентов, поэтому сейчас нет необходимости вдаваться в него. Сразу отметим, что интерфейс визуально разделен на две части: одну для конфигурации запроса, а другую для просмотра результатов ответа.
Отправим запрос. Я использую для тестирования https://next.json-generator.com, так как он помогает создавать различные структуры JSON и предоставлять к ним доступ извне. А теперь, как мы обычно делаем, поприветствуем этот мир и создадим такой JSON:
{
"action": "Hello",
"who": "World"
}
Создайте ссылку на него. У меня есть этот https://next.json-generator.com/api/json/get/EJvQVEVGL Затем вставьте его в поле URL и нажмите кнопку RUN. Результат должен быть следующим:
Приложение должно сказать, что запрос был успешным, и отобразить краткую статистику по времени выполнения запроса и размеру ответа. На панели ответов вы можете видеть проанализированные и текстовые (с выделением или без) ответы.
Переменные
Раздел Переменные - это хранилище ключ-значение для хранения и повторного использования некоторых данных. Его часто используют для удаления дубликатов кода и улучшения читаемости: переменная приветствияUrl наверняка говорит больше, чем просто строка https://next.json-generator.com/api/json/get/EJvQVEVGL.
Механизм переменных очень хорошо интегрирован во все части приложения и имеет несколько функций:
- Переменные могут хранить строки, массивы или объекты.
- Переменные определяются для каждого узла и наследуются от родительских узлов.
- Значения переменных могут относиться к другим переменным.
- Имена переменных по умолчанию начинаются с символа $. По умолчанию используются следующие переменные:
- $ parent - ссылка на родительский узел
- $ prevStep - ссылка на предыдущий узел внутри узла папки
- $ nextStep - ссылка на следующий узел в узле папки
- $ env - ссылка на переменные окружения (в терминах нашего приложения)
- $ response (только для RequestStep и его потомков) - ссылка на ответ от сервера.
В интерфейсе каждого узла есть кнопка «Переменные», которая открывает диалог определения переменных.
Пора применить все это на практике! Сначала мы возвращаемся к нашему запросу hello-world и пытаемся поместить URL-адрес в переменную. Как вы помните, это URL https://next.json-generator.com/api/json/get/EJvQVEVGL. Теперь откройте диалоговое окно конфигурации переменных и добавьте переменную с именем welcomeUrl, имеющую наш URL-адрес в качестве значения. Это будет выглядеть так:
Нажмите ОК и измените URL-адрес на нашу новую переменную. Синтаксис: $ {имя_переменной}. В этом случае мы получим:
Обратите внимание, что для переменных доступна функция автозаполнения. Вот как это работает:
Кроме того, вы можете проверить, какое значение имеет ваша переменная в данный момент. Вам просто нужно указать на переменную!
Отправив запрос еще раз, мы можем убедиться, что значение URL-адреса успешно вставлено из переменной.
Узел утверждения
Как упоминалось выше, этот узел используется для написания тестов и может быть только дочерним по отношению к узлу RequestStep. Есть два способа добавить узел утверждения в ваш проект:
- Щелкните правой кнопкой мыши родительский узел на боковой панели.
- На вкладке "Утверждения" на панели ответов
Мы выберем второй вариант. Щелкните CREATE NEW ASSERTION NODE, и узел утверждения будет добавлен в качестве дочернего узла, а интерфейс будет изменен на интерфейс добавления-утверждения.
Утверждение в узле утверждения - это просто условная проверка. Предположим, нам нужно проверить, отвечает ли сервер «Привет» в поле действия. Пока список утверждений пуст, давайте добавим наш первый тест. Нажмите ДОБАВИТЬ УТВЕРЖДЕНИЕ, и вы увидите интерфейс узла утверждения. Есть шаблон для утверждения:
Давайте подробнее рассмотрим интерфейс. У каждого утверждения есть тип. Есть 4 типа утверждений:
- Сравнить значения - просто сравнивает два значения. У нас есть несколько операторов сравнения: «равно», «не равно», «больше», «больше или равно», «меньше», «меньше или равно».
- Содержит значение - проверяет, присутствует ли в строке подстрока.
- XPath - проверяет наличие определенного значения в XML с помощью селекторов.
- Утверждение JavaScript - случайный сценарий JavaScript, который возвращает true в случае успеха и false в случае неудачи.
Как видите, все входы также используют механизм переменных.
Хорошо, вернемся к нашему маленькому проекту. Значение поля действия можно получить в ответ с помощью response.body.action. Ожидаем получить значение «Hello». Итак, наше утверждение выглядит так:
Отлично. Нажмите RUN для пробного запуска. В случае успеха наше утверждение будет выделено зеленым цветом, в противном случае - красным. Если вы все сделаете правильно, то обязательно увидите зеленый цвет.
TestMace также может исправлять ошибки. Вы не верите в магию? Просто смотри на эти руки
Например, заменим «Привет» в поле ожидаемого значения на «Пока». После запуска система сообщает, что значения не равны:
Как вы могли заметить, кнопки Отключить ошибки и Исправить ошибки активны (то же самое происходит, когда вы указываете на утверждение):
- Отключить ошибки отключает утверждение, поэтому оно не будет выполняться в следующих запусках.
- Fix Errors исправляет ошибки. Поведение при исправлении ошибок зависит от выбранного типа утверждения, и иногда исправить ошибку невозможно.
Нажмите кнопку «Исправить ошибки»… и вуаля! Значение было перенесено из ответа в ожидаемое значение. Если запустить его еще раз, тест пройдет успешно.
В заключение хочу показать вам еще одну приятную функцию, которая позволяет быстро создавать утверждения. В TestMace вы можете создать утверждение прямо из полученного ответа. Просто щелкните правой кнопкой мыши поле ответа и выберите соответствующее утверждение из контекстного меню.
Затем создается полностью настроенное утверждение, и вам просто нужно нажать кнопку RUN.
Вывод
В этой статье мы описали основные возможности интерфейса, а также настроили запрос и протестировали его. Однако это лишь небольшая часть всего, что может сделать TestMace. В следующих статьях мы остановимся на других функциях. Быть в курсе
И не стесняйтесь присылать нам свои комментарии и предложения по адресу [email protected]. Обязательно подпишитесь на нас в социальных сетях:
- Https://client.testmace.com/
- Instagram: https://www.instagram.com/testmace/
- twitter: https://twitter.com/testmace_soft
- facebook: https://www.facebook.com/testmace/
Заранее спасибо!
Дмитрий Сныткин, разработчик TestMace