金牛座JSON正文文章

时间:2019-10-02 08:26:22

标签: performance rest jmeter blazemeter taurus

我试图使用金牛座并测试我的restapi。 我的restapi在POST请求中使用JSON正文。 因此,我在任何地方都找不到如何将json放入我的POST请求中。

我尝试过这样,但这不起作用。

execution:
  - concurrency: 25
    throughput: 25
    ramp-up: 1m
    hold-for: 5m
    steps: 3
    scenario: blazemeter-recording

scenarios:
  blazemeter-recording:
    timeout: 5s
    retrieve-resources: false
    store-cache: true
    store-cookie: false
    default-address: https://someurl
    headers:
      User-Agent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36'
      Accept-Language: 'ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4'
      Accept-Encoding: 'gzip, deflate, sdch'
      Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp'
    requests:
      - url: '/api/v8/url/url/url'
        method: POST
        label: '/api/v8/url/url/url'
        headers:
          Content-Type: application/json
        body:
          "{\"applicationId\":1,\"objectId\":196,\"tags\":[{\"tag\":\"#ObjectsFilter:filter:Data#\",\"objectId\":196,\"pagination\":{\"pageSize\":100}}]}"

2 个答案:

答案 0 :(得分:0)

我找到了解决方法,我可以使用“ body-file”

      - url: 'url'
        method: POST
        label: 'data label'
        headers:
          Content-Type: application/json
        body-file: /var/tests/json_event_filter.json

答案 1 :(得分:0)

您的配置很好,请查看Taurus JMeter Executor HTTP Requests documentation

body: 'request-body-string'  # if present, will be used as body

您可以通过running Taurus in GUI mode再次检查它,例如:

bzt your-test.yaml -gui

bzt -o modules.jmeter.gui=true your-test.yaml

您应该看到HTTP request采样器的“正文数据”标签中包含您的JSON有效负载:

enter image description here

更多信息:Navigating your First Steps Using Taurus