loadrunner发送json_loadrunner xml脚本和json脚本
CloudProviderCardOrderMgmtsyncCPOrderSummaryInfoOMSd24de41c71e744a085f682123f8972999638ddc0e74d4cc5OMS;NULLA1234560000012015050914422513091704123456000001011010017610509990080100.001.000100.00测试用户0250
CloudProviderCardOrderMgmt
syncCPOrderSummaryInfo
OMS
d24de41c71e744a085f682123f8972999638ddc0e74d4cc5
OMS;NULL
A
123456000001
20150509144225
13091704
12345600000101
10
1001
7610
509990080
100.00
1.000
100.00
测试用户
025051600001
1001
100.00
20150509144225
loadrunner脚本
int respCode0;
lr_start_transaction("OMS Order Information Synchronization");
web_reg_save_param("respCode",
"LB=",
"RB=",
"NotFound=ERROR",
"Search=All",
LAST);
web_custom_request("esbHttpService",
"URL=http://*.*.*.*:3/ManagementFrontEndWeb/esbHttpService",
"Method=POST",
"Mode=HTTP",
"EncType=text/xml; charset=GB2312",
"Body=<?xml version=\"1.0\" encoding=\"utf-8\"?>"
""
""
""
"CloudProviderCardOrderMgmt"
"syncCPOrderSummaryInfo"
"OMS"
"d24de41c71e744a085f682123f8972999638ddc0e74d4cc5"
"OMS;NULL"
""
""
""
""
"A"
"123456000001"
"20150509144225"
"13091704"
"12345600000101"
""
"10"
"1001"
"7610"
"509990080"
"100.00"
"1.000"
"100.00"
"测试用户"
"025051600001"
""
""
""
""
""
""
""
""
""
""
""
"1001"
"100.00"
"20150509144225"
[color=red]"[/color]"
[color=red]"[/color]"
[color=red]"[/color]"
[color=red]"[/color]"
[color=red]"[/color]",
LAST);
respCode0=strcmp(lr_eval_string("respCode"),lr_eval_string("00"));
if(respCode0==0)
{
lr_output_message("PASS-----respCode:%s",lr_eval_string("{respCode}"));
lr_output_message("PASS-----respCode0:%s",lr_eval_string("respCode0"));
lr_end_transaction("OMS Order Information Synchronization",LR_PASS);
}
else
{
lr_output_message("FAIL----respCode:%s",lr_eval_string("{respCode}"));
lr_end_transaction("OMS Order Information Synchronization",LR_FAIL);
};
return 0;
c.以表单提交,使用用json格式
JSON简单说就是javascript中的对象和数组。
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它的规则非常简单并且是有趣的:
1) 并列的数据之间用逗号(“,”)分隔。
2) 映射用冒号(“:”)表示。
3) 并列数据的集合(数组)用方括号("[]")表示。
4) 映射的集合(对象)用大括号(“{}”)表示。
按照这个规则可以作以下理解:
1.数组用“[]”创建,对象用“{}”创建,并且使用Json基本都是用[]或者{}创建的数组或对象,否则一个普通的字符串是没有意义的;
2.无论是数组还是对象,之间的元素都用“,”隔开;
3.对象内部,(属性的)名称和值用“:”隔开,并且必须要用“:”隔开,不可单独存在属性名或者值;
4.对象和数组可以互相嵌套,即数组中的一个元素可以是一个对象也可以是一个数组,同理对象中的一个属性的值可以是一个对象也可以是一个数组。
举例data={"authInfo":{"orderInfo":"account_no=0000000001114011378&total_fee=100","orderType":"01"},"deviceInfo":{"deviceId":"865179020041956","deviceName":"TCLP728M","deviceSysVersion":"19","serialNumber":"SSOBFACQS4GUSSBE","wlanMacAddress":"d8:e5:6d:b6:97:a1"},"platformType":"02","platformInfo":{"appId":"120001","sdkVersion":"2"},"clientKey":"k78Rn23s"}"
了解了json格式,下面来说表单提交:
http://sdkspre.*.com/sdkservice/showCashier/showCashier.do?data={"authInfo":{"orderInfo":"account_no=0000000001114011378&total_fee=100","orderType":"01"},"deviceInfo":{"deviceId":"865179020041956","deviceName":"TCLP728M","deviceSysVersion":"19","serialNumber":"SSOBFACQS4GUSSBE","wlanMacAddress":"d8:e5:6d:b6:97:a1"},"platformType":"02","platformInfo":{"appId":"120001","sdkVersion":"2"},"clientKey":"k78Rn23s"}" [MsgId: MMSG-26548]
表单提交需要放在ITEMDATA内
脚本如下:
Action()
{
lr_start_transaction("show");
web_reg_find("Fail=NotFound",
"Search=All",
"Text=\"success\":true,",
LAST);
web_submit_data("showCashier.do",
"Action=http://sdkspre.*.com/sdkservice/showCashier/showCashier.do",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html",
"Referer=",
"Snapshot=t3.inf",
"Mode=HTML",
ITEMDATA,
"Name=data", "Value={\"authInfo\":{\"orderInfo\":\"account_no=0000000001114011378&total_fee=100\",\"orderType\":\"01\"},\"deviceInfo\":{\"deviceId\":\"865179020041956\",\"deviceName\":\"TCLP728M\",\"deviceSysVersion\":\"19\",\"serialNumber\":\"SSOBFACQS4GUSSBE\",\"wlanMacAddress\":\"d8:e5:6d:b6:97:a1\"},\"platformType\":\"02\",\"platformInfo\":{\"appId\":\"120001\",\"sdkVersion\":\"2\"},\"clientKey\":\"k78Rn23s\"}", ENDITEM,
LAST);
lr_end_transaction("show", LR_AUTO);
return 0;
}
下面在补充下:
开始将data放在url地址中一起提交,开发在日志中只能接收到data的第一个参数-encryptStr:{"authInfo":{"orderInfo":"account_no=0000000001114011378
所以需要放在itemdata中通过表单提交。
使用get发现也不ok,因为我们传的字段里面有特殊字符 如果用get需要url encode 不然就传不过来,但是用post 系统会自动编码,所以选择post。
if ("0000".equals(resMap.get("responseCode").toString())) {
if( response.toString().contains("000000>") ){
分享到:
2015-05-15 11:47
浏览 2291
分类:非技术
评论
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)