如何用LoadRunner模拟PDA向服务器发送数据(1)-编写LoadRunner脚本
上一篇 /
下一篇 2009-06-12 12:37:50
/ 个人分类:LoadRunner学习
1.1脚本功能介绍
本脚本实现了模拟1台PDA想服务端发送信息。
如果要实现多台PDA并发,需要做以下事情:
1. 分析消息。
特别要注意的是,新增记录与编辑记录的消息是有很大不同的。
构造新增记录消息时,必须构造记录UUID(此UUID是经过base64编码的)、消息UUID(此UUID没有被编码);
构造编辑记录消息时,必须构造消息UUID,记录UUID不变。
有的PDA操作,一次操作会产生多条消息(如转入转出),模拟此操作时也要特别注意。
2. 构造数据
构造PdA消息数据方法见二、构造数据。
消息中的UUID是没有“-”的,而SQL中生成的UUID是有“-”的,因此,在构造数据时,要注意删除“-”。
3. 对LoadRunner脚本中的消息数据进行参数化,并指定参数的取值方法。
需要参数化的数据有msg的UUID(必须)
新增记录的话还要参数化记录的UUiD
如果模拟不同用户的话,要参数化USN(即用户的UUID,用户的UUID从表PDA_userinfo中可以获取).
4. 创建场景,运行场景。
1.2如何创建PDA消息
LoadRunner脚本的“Body”中,双引号前要用转义符,其他不用。
Body中的信息的格式,其实可以从服务器端的apusic窗口中截,方法如下(以新增子项为例:
1.用PDA新增一个子女信息。上传。
2.从服务端的apusic窗口中截取上传信息。
3.对截取的信息进行分析,修改。一般需要修改msg的UUID,新增子项的话还要修改子项的uuid。
4.将修改后的消息贴到脚本中,运行即可。
1.3脚本
web_reg_save_param("flag", "LB=FLAG:", "RB=", "SaveLen=1", "RelFrameId=1", LAST); web_custom_request("upload.do", "URL=http://192.168.1.15:888/upload.do", "Method=POST", "TargetFrame=", "Resource=0", "Referer=", "Body=<root><usn>{PDA_UserInfo}</usn><msg uuid=\"{msgUUID}\"><cmd>SAV_CHILD(Kin|LTk5OQ==;ID|NDUzODgw;BirthPlace|LTk5OQ==;FamilyUUID|{FamilyUUID};Modifier|eWhfaGht;FamilyID|{FamilyID};IsOnline|MA==;OperID|MA==;ModifyDate|MjAwOS0wNi0xMCAwOTo1MTowOA==;Policy|MQ==;Remark|;Birthday|MjAwOS0wNi0xMCAwMDowMDowMA==;BornCardNo|;ChangeType|QWRk;ChildOrder|Mg==;UUID|{UUID};HealthState|MQ==;Sex|Mg==;CreDate|MjAwOS0wNi0xMCAwMDowMDowMA==)</cmd></msg></root>", LAST); lr_output_message("%s", lr_eval_string("{flag}")); if(atoi(lr_eval_string("{flag}"))!=1) lr_abort(); return 0; } |
脚本说明:新增计生子女信息,对msg的UUID、子女的UUID进行了参数化。
Body脚本段换行:直接回车换行,行首行尾加双引号既可。
用c语言的“\”换行也可以,但是如果在cmd中使用“\”,会导致cmd中出现空格(除非换行后语句靠最左,但是这样语句不整齐)。
收藏
举报
TAG: