2016-07-15 99 views
0

我有一个需要处理动态项目数据上web_custom_request获得一个HTTP状态代码404在LoadRunner中

web_custom_request("create", 
    "URL=someurl\create", 
    "Method=POST", 
    "Resource=0", 
    "RecContentType=application/json", 
    "Referer=someurl", 
    "Snapshot=t6.inf", 
    "Mode=HTML", 
    "EncType=application/json", 
    "Body={\"actions\":{\"name\":\"value\"}}" 
    LAST); 

为了解决发挥作用的动态名称 - 值对参数的web_custom_request方法,我已经建立了一个bufferthat将持有主体字符串。我已经使用关联和循环来实现这一点。努力建设这个缓冲区的末尾,代码如下所示

lr_param_sprintf("s_buffer", "\\\"actions\\\":{%s}",paramStr); 
lr_output_message("Final Actions string is %s", lr_eval_string("{s_buffer}")); 

输出上面lr_output_message是

最终操作字符串是\“动作\”:{\“名称\”:\“价值\”}

我取代身体参数在web_custom_request与指示web_custom_request的格式是我已经建立

web_custom_request("create", 
    "URL=someurl\create", 
    "Method=POST", 
    "Resource=0", 
    "RecContentType=application/json", 
    "Referer=someurl", 
    "Snapshot=t6.inf", 
    "Mode=HTML", 
    "EncType=application/json", 
    "Body={s_buffer}" 
    LAST); 

缓冲我收到HTTP状态代码= 400(错误请求)错了。如果有人能够帮助我使用Body参数,那么web_custom_request就像它应该的那样拥抱它,我将非常感谢。

回答

0

记录三次。前两个使用相同的登录会话。第三个与另一个。您可能会根据未在身体内适当处理的数据来改变某些内容。

+0

感谢您回复詹姆斯。第一和第二个录音中的身体是“Body = {\”actions \“:{\”name1 \“:\”value1 \“}}”,并且在第三个是“Body = {\”actions \“:{\ name1 \“:\”value1 \“,\”name2 \“:\”value2 \“,\”name3 \“:\”value3 \“}}”,我创建的缓冲区有一个字符串“actions” :{\ “MM-FM984-A \”:\ “15000 \”}。我需要将这个值封装在花括号{}中并将此值传递给Body。我用输出打印的alue替换了s_buffer,它工作正常。我怀疑我传递了一个值“Body = \”actions \“:{\”name1 \“:\”value1 \“,\”name2 \“:\”value2 \“,\”name3 \“:\” value3 \“}”,与我的web_custom_request。 – user1528884