Как пропустить первый / текущий запрос в newman через файл данных? - PullRequest
0 голосов
/ 29 декабря 2018

У меня есть столбец с именем 'value' в моем файле data.csv.Когда его значение равно 1, я хочу выполнить только запрос с идентификатором «1» (и пропустить идентификатор запроса «2»), а когда оно равно 2, должен выполняться идентификатор запроса «2» (и пропустить идентификатор запроса «1»).

Я уже попробовал следующее:

Сценарий предварительного запроса коллекции:

var valueFromData = pm.iterationData.get("value");

if(valueFromData === 1) {
    postman.setNextRequest("1");
}

if(valueFromData === 2) {
    postman.setNextRequest("2");
}

Запрос сценария предварительного запроса "1":

var valueFromData = pm.iterationData.get("value");

if(valueFromData === 1) {
    postman.setNextRequest(null);
}

if(valueFromData === 2) {
    postman.setNextRequest("2");
}

Запрос "2" сценарий предварительного запроса:

var valueFromData = pm.iterationData.get("value");

if(valueFromData === 1) {
    postman.setNextRequest(null);
}

if(valueFromData === 2) {
    postman.setNextRequest(null);
}

Фактический результат:

Когда значение = 1, вызывается RequestId "1".RequestId "2" пропускается из-за того, что следующий запрос установлен как ноль.Это нормально.

Когда значение = 2, RequestId "1" не ожидается.Но это называется!После этого вызывается RequestId "2".

Ожидаемый результат:

Когда значение = 1, должен вызываться только RequestId "1".RequestId "2" должен быть пропущен

Когда значение = 2, должен вызываться только RequestId "2".RequestId «1» должен быть пропущен

Короче говоря, первый запрос коллекции всегда вызывается независимо от установки следующих запросов.Могу ли я узнать, как условно пропустить первый / текущий запрос?

1 Ответ

0 голосов
/ 31 декабря 2018

Имя метода setNextRequest ()

Я всегда использую его в тестовом сегменте для установки следующего запроса, а не в текущем сегменте предварительного запроса.

Мое предложение:

  • удалить скрипт сбора как бессмысленный

  • добавить пустой / нейтральный запрос "0"

  • установить следующий запрос здесь:

    if(valueFromData === 1) {
        postman.setNextRequest("1");
    }
    
    if(valueFromData === 2) {
        postman.setNextRequest("2");
    }
    
  • в тестовом сценарии в наборе "1":

    if(valueFromData === 1) {
        postman.setNextRequest(null); }
    
  • удаление сценария внутри "2" как бессмысленное

Это решение не элегантно, но должно работать.

...