1

在使用 REST api 编写 loadrunner 脚本时需要一些帮助。我要求 LR 脚本应始终替换唯一参数,并且此参数应是 Json 主体的一部分。我使用的文件很大。因此,我在 LR 的额外文件中创建了 payload.json。在 Bodyfilepath 中,我给出了这个 json 文件的名称。在 payload.json 中,我参数化了一个值(每次迭代都必须是唯一的)以使请求成功。但是,此参数值不会被替换。任何人都可以帮助我或分享有助于将json文件中的值替换为参数值的代码谢谢

web_custom_request(
"web_custom_request", 
"URL=name of the URL/Service ", 
"Method=POST", 
"TargetFrame=", 
"Resource=0", 
"Referer=", 
"BodyFilePath=payload.json", 
LAST); 

Payload.json 文件在 Extra Files 下传递,示例如下所示:

{ "Msgheader":
{ "Field1":"AB", "Field2":"201300{test}", "Field3":"50.00", "CrBy":"", "CrOn":"2018-03-16 ", }

4

1 回答 1

1

看来您不能直接在加载的文件上进行参数替换,因此您需要手动加载 JSON,然后将其用作正文。这是有关如何执行此操作的示例:

lr_read_file("test.json", "test", 0);
lr_save_string(lr_eval_string(lr_eval_string("{test}")),"myjson");


lr_eval_json("Buffer={myjson}", 
             "JsonObject=myjson", 
             LAST);
lr_json_stringify("JsonObject=myjson","Format=compact","OutputParam=Result",LAST );


web_rest("My POST",
    "URL=http://myserver.com",
    "Method=POST",
    "EncType=raw",
    "Snapshot=t536990.inf",
//  "Body={\"store\": \"{ts}\"}", this is what the JSON contains 
//                                and I have a parameter named ts
    "Body={Result}",
    HEADERS,
    "Name=Content-Type", "Value=application/json", ENDHEADER,
    LAST);
于 2018-03-18T13:17:19.543 回答