首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在artillery.io请求中传递登录参数

如何在artillery.io请求中传递登录参数
EN

Stack Overflow用户
提问于 2019-10-23 07:56:22
回答 2查看 3.3K关注 0票数 1

我已经开始使用'Artillery.io‘进行负载测试了。下面是如何在load-test.yml中传递像email, password这样的认证参数,下面的代码在发送请求时抛出了一个未经授权的错误。有没有人可以指导我如何传递像email and password这样的认证参数

代码语言:javascript
复制
config:
  target: 'https://test-url.com'
  phases:
    - duration: 70
      arrivalRate: 10
  defaults:
    headers:
      Content-Type: application/json

scenarios:
  - flow:
    - get:
        url: /findAMembership
        headers:
          Content-Type: application/json
    - post:
        url: /auth
        body:  '{"username":"test@test.com", "password": "some_testpassword"}'
        headers:
          Content-Type: application/json
EN

回答 2

Stack Overflow用户

发布于 2019-10-25 13:00:22

你的脚本会做一些事情,让它更容易阅读,更容易排除故障,也许还能解决你的问题。

首先,关于401问题,我认为您的请求不满足身份验证端点要求。请检查终结点。(比如如何以正常的方式执行auth?)

我假设端点接受一个json请求(usernamepassword)并响应一个Bearer token,您可以尝试这样做(使用json代替body,并定义key-value):

代码语言:javascript
复制
- post:
    url: "/auth"
    json:
      username: "test@test.com"
      password: "some_testpassword"
    headers:
      Content-Type: "application/json" # no need this, you have specified the default Content-Type
    capture:
      json: "$.token"
      as: "token" # Should have this, read below

注意,您发送了一个auth请求,但没有捕获其中的任何内容,这没有任何意义。记住捕获响应(如Bearer token等)用于需要身份验证的链接请求。Read more

票数 1
EN

Stack Overflow用户

发布于 2020-06-26 18:11:45

如果你想从文件中读取用户,你可以指定一个有效负载路径,以及它的字段。这还允许您测试具有多个用户和/或失败尝试的场景。

代码语言:javascript
复制
config:
  target: "<TARGET>"
  payload:
    - path: "./users.csv"
      fields:
        - "username"
        - "password"
      order: sequence
      skipHeader: true
    - path: "./products.csv"
      fields:
        - "id"
      order: sequence
      skipHeader: true
  phases:
    - duration: 60
      arrivalRate: 20
scenarios:
  - flow:
    - post:
        url: "/login"
        json:
          username: "{{ username }}"
          password: "{{ password }}"

这样,将从指定的CSV文件中读取用户名和密码,并使用json主体对象将其POSTed到<TARGET>/login端点

代码语言:javascript
复制
{ 
  username: <READ USERNAME>
  password: <READ PASSWORD>
}

示例CSV- file可能如下所示

代码语言:javascript
复制
username,password
some1@example.com,super1
email@example.com,secret
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58513705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档