#automated-tests #postman
Вопрос:
Я тестирую конечную точку в Postman, используя URL-адрес, подобный этому, {{api_url}}/stackoverflow/help/{{customer_id}}/{{client_id}}
. У меня есть api_url
, customer_id
, и client_id
хранятся в моих переменных окружения. Я хотел бы протестировать несколько customer_id
и client_id
без необходимости каждый раз вручную изменять переменные среды. Я создал csv-файл для хранения списка customer_id
и один для хранения client_id
. Когда я перейду к запуску коллекции, это позволит мне добавить только один файл. Есть ли другой способ сделать это, если я хочу повторить свои тесты, чтобы автоматизировать их?
Комментарии:
1. Попробуйте выполнить действия, перечисленные здесь: community.postman.com/t/…
Ответ №1:
Вы можете добавить оба customer_id
amp; client_id
в один csv-файл. Почтальон повторит n раз (n = количество строк csv, кроме заголовка)
Ответ №2:
вы можете использовать postman.setNextRequest для управления потоком. Приведенный ниже код запускает запрос с различными значениями в переменной arr
URL-адрес:
{{api_url}}/stackoverflow/help/{{customer_id}}/{{client_id}}
теперь добавьте предварительный запрос:
// add values for the variable in an array
const tempArraycustomer_id = pm.variables.get("tempArraycustomer_id")
const tempArrayclient_id = pm.variables.get("tempArrayclient_id")
//modify the array to the values you want
const arrcustomer_id = tempArraycustomer_id ? tempArraycustomer_id : ["value1", "value2", "value3"]
const arrclient_id = tempArrayclient_id ? tempArrayclient_id : ["value1", "value2", "value3"]
// testing variable to each value of the array and sending the request until all values are used
pm.variables.set("customer_id", arrcustomer_id.pop())
pm.variables.set("client_id", arrclient_id.pop())
pm.variables.set("tempArraycustomer_id", arrcustomer_id)
pm.variables.set("tempArrayclient_id", arrclient_id)
//end iteration when no more elements are there
if (arrcustomer_id.length !== 0) {
postman.setNextRequest(pm.info.requestName)
}