Как установить значение переменной из функции в конфигурации artillery.io? - PullRequest
0 голосов
/ 10 июля 2019

Мне нужно создать токен для каждого запуска артиллерийских испытаний: у меня есть функция, которая будет возвращать этот токен, и у меня есть функция, которая будет генерировать уникальный идентификатор присваивания. Мне нужно, чтобы эти функции вызывались для создания связанных с ними переменных..

    variables:
       jwt: getJWT()
       assignmentId: getAssignmentId()

Мне нужно передать jwt как часть авторизации:

       defaults:
         headers:
         Authorization: 'Bearer' + {{jwt}}

Мне также нужно передать идентификатор назначения в URL:

    scenarios:
       - flow:
          - get:
              url: '/assignments/{{assignmentId}}/shifts'

вот функции, которые я использую:

    const getAssignmentId = (next) => {
      const TEST_ASSIGNMENT_ID = 'test_' + uuidcreate()
      return [TEST_ASSIGNMENT_ID, next()]
    }

    const getJWT = (env = configEnv, next) => {
       const instance = axios.create({
        baseURL: env.baseEndpoint
      })
      return [instance
        .post('/auth/token', {
          client_id: env.clientId,
          client_secret: env.clientSecret
        })
        .then(result => result.data.access_token), next()]
    }

Я бы хотел лучше понять, как сделать это правильно, чтобы я мог перейти к более сложным частям установки.

В настоящее время я пытался

процессор: переменные './artillery-setup.js: jwt:' getJWT 'assignmentId:' getAssignmentID '

, но при регистрации они оба не определены

...