Ошибка: Время выполнения скрипта истекло после 30000мс

#javascript #postman #postman-collection-runner #newman

#javascript #почтальон #postman-collection-runner #ньюман

Вопрос:

Я пытаюсь провести некоторое нагрузочное тестирование. Я использую newman в nodejs. В моем скрипте у меня есть async.parallel для параллельного выполнения нескольких коллекций. Затем повторяйте набор параллельных исключений каждые 5 секунд. При каждом запуске у меня есть следующие параметры:

 collection: require('./collection.json'),
environment: require('./environment.json'),
timeoutRequest : 0, // infinite timeout
delayRequest: 1000, // ms
iterationCount: 5
 

Основной цикл выглядит так:

 async function sleep(ms) {
  return new Promise(done => setTimeout(() => done(), ms));
}

async function orchestrator() {

  for (let j = 0; j < cycles; j  )

  {
    async.parallel(runItems,
      function(err, results) {
        if (err) {
          throw err;
        }
      }
    );
    await sleep(5000);
  }
 

Последние 3 строки вывода:

 code: ‘ERR_SCRIPT_EXECUTION_TIMEOUT’
}
Process exited with code 1
 

Я установил циклы на 500. Все идет хорошо в течение более 70 циклов, но затем я получаю указанную ошибку.

У вас есть решение или какая-то работа, которую я могу сделать?

Ответ №1:

Вероятно, это ошибка либо в том, как Newman применяет значения таймаута по умолчанию, либо в том, как они документируются.

Вот как это должно работать (источник):

В двух словах, поведение тайм-аута выглядит следующим образом:

  1. timeout : Это значение глобального тайм-аута, время в миллисекундах для завершения всего запуска коллекции.
  2. timeoutRequest : Аналогично приведенному выше, но это значение применяется индивидуально ко всем запросам при выполнении сбора.
  3. timeoutScript : Аналогично приведенному выше, но это значение применяется индивидуально ко всем скриптам в запуске коллекции.

Для любого из 3 приведенных выше значений конфигурации указание значения 0 приведет к тому, что время ожидания будет установлено на бесконечность.

Мои выводы до сих пор:

  1. Я столкнулся с Script execution timeout ошибкой при запуске Postman 5.2.2 CLI с настройками по умолчанию. Здесь обнаружена проблема
  2. На основе этого комментария 99999 может помочь настройка значений тайм-аута.