#api #automation #postman #cypress #newman
Вопрос:
У меня есть требование автоматизировать API, а также интегрировать их с конвейером Azure DevOps. В настоящее время я использую Cypress, и мне это удается.
Мои клиенты хотят использовать почтальона для автоматизации.
Я должен запустить один API с несколькими комбинациями, такими как различный набор параметров запроса с различным набором тела запроса.
Я знаю , что с помощью приспособления Cypress мы можем добиться тестирования на основе данных, но можем ли мы сделать то же самое с почтальоном, если да ? как мы можем интегрировать один и тот же конвейер в Azure для запуска различных комбинаций данных ?
Комментарии:
1.
data-driven testing
использование файла csv/json в postman ужасно, но мы можем сделать обходной путь, например, сохранить данные в массиве объектов, один запрос возьмет один объект из массива и запустится.2. @lucasnguyen17 Можем ли мы интегрировать эти запросы в CI/CD, как в azure devops ? Где в этом случае будут храниться эти файлы csv/json ? и как указать запросу, какой файл csv/json выбрать и запустить?
3. К сожалению, нет. Вот почему управление данными в postman-отстой. community.postman.com/t/. … Вы можете следовать решению, о котором я упоминал ранее, если хотите, я могу сделать для вас образец кода.
4. @lucasnguyen17 знания халда опасны 🙂 тестирование на основе данных почтальона-самое простое . вы можете запустить его несколькими способами,
Ответ №1:
тестирование на основе данных в postman является прямым, заголовок csv-это имя переменной :
создайте csv-файл с именем data.csv :
age
1
2
3
теперь вызовите переменную в любой части, например {{имя}}
например, пусть запрос будет :
{
"user": "{{name}}"
}
Теперь запустите сценарий с помощью newman или collection runner. Для интеграции cicd мы должны использовать newman. Экспортируйте коллекцию в формате json и запустите
newman run collection.json -d data.csv
вот и все , за один раз вы можете использовать только один csv-файл , но можете запустить конфигурацию с использованием другого csv-файла, выполнив команду повторного запуска с разными файлами данных, указанными с помощью-d
Комментарии:
1. Да, я знаю, как использовать csv-файл, но только по одному файлу за раз, и у меня много подобных запросов в коллекции. Еще одна вещь, я должен отделить этот запрос от других в коллекции, чтобы уменьшить побочный эффект итерации. Например, у меня есть коллекция: req1, req2 (читать файл csv: 3 строки). Когда я запускаю коллекцию с помощью runner, я ожидаю, что req1 запустится 1 раз, req2-3 раза, но получается req1 3 раза, req2 3 раза. Для меня это отстой.
2. Хорошо, это ответ на один из моих вопросов. Другой вопрос в том, как мне интегрировать это с конвейером ? Где будут храниться файлы data.csv, когда мы говорим о CI/CD ?
3. @lucasnguyen17 вы можете легко это сделать , используя Google лист или содержимое в переменной среды и т. Д. попробуй это , postman.com/praveendvd-public/workspace/postman-tricks-and-tips
4. @AbdullaSuhail это будет сохранено вместе с переменной коллекции и окружающей среды . файлы json . У вас должна быть папка с файлом данных, коллекцией и средой
5. @lucasnguyen17 вы должны использовать postman.setNextRequest для управления потоком