如何从artillery.io配置中的函数设置变量的值?

时间:2019-07-10 20:03:27

标签: yaml artillery

我需要为每次火炮测试创建一个令牌: 我有一个函数将返回该令牌 我有一个函数,它将生成一个唯一的工作分配ID 我需要调用这些函数来创建它们的关联 变量。

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

我需要通过jwt作为授权的一部分:

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

我还需要在url中传递AssignmentId:

    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”

但是在登录时它们都是未定义的

0 个答案:

没有答案