我试图使用金牛座并测试我的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}}]}"
答案 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有效负载: