【问题标题】:Jmeter Rest API Performance Testing - POST data is not working in replayJmeter Rest API 性能测试 - POST 数据在回放中不起作用
【发布时间】:2018-07-26 16:27:33
【问题描述】:

我对性能测试和 Jmeter 很陌生

这是我作为请求发送的 POST 数据 发布数据:

[{"state":"COMPLETED","taskId":"2007","properties":[{"value":"2018-07-25T16:44:40.121Z","id":"deliveryDate"}]}]

回复:

{"id":null,"message":"Error in 2007: Cannot find task with id 2007;","status":"BAD_REQUEST"}

但是当我录制下面的脚本时,是对上述 POST 数据的响应(这是正确的)

[{"filingDetailsId":24,"filingStatus":"ACTIVE","fund":{"fundId":24,"name":"AG Mortgage Value Partners Master Fund, L.P.","shortCode":"MVPM"},"task":{"taskId":"9535","state":"ACTIVE","description":"The date the data was provided by the admin.","taskSubType":"MASTER","assignee":"[]","properties":[{"id":"deliveryDate","name":"Admin Actual Delivery Date","type":{"name":"date"},"value":"False","required":true,"writable":true,"readable":true}]},"refFundId":101,"reportId":0},]

为什么我的回放失败?请帮忙!

【问题讨论】:

    标签: jmeter performance-testing


    【解决方案1】:

    你的问题没有足够的细节来给出一个 100% 正确的答案,所以我会去“盲测”

    如果您的测试场景假设 CRUD 操作如下:

    1. 创建任务
    2. 任务经过一些工作流程
    3. 任务被标记为已完成或被删除

    那么,如果不实现所谓的correlation,这不是您可以记录和重播的东西 - 从上一个请求中提取动态参数并将它们传递给下一个请求的过程。

    因此,您需要对记录的测试做一些额外的工作,并使其看起来像:

    • 创建任务的HTTP请求
    • HTTP 请求将任务标记为已完成 - 将 2007 替换为上一个请求中的 taskId 值。您可能还希望将2018-07-25T16:44:40.121Z 替换为您可以通过__time() 函数获取的当前时间戳,否则您的请求将是过去的,并且您的应用程序可能会进行内部检查以防止潜在的欺诈行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-17
      • 1970-01-01
      相关资源
      最近更新 更多