Loadrunner测试webservice协议总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Loadrunner测试webservice协议总结
Loadrunner测试webservice协议总结
⼀、协议选择
1、打开Virtual user generator,新建脚本,选择webservice协议
2、当选择的协议不明确或者被测系统协议不明确时,使⽤loadrunner11⾃带的协议分析软件,⽂件->分析软件->分析应⽤程序,选择应⽤程序类型和路径确定即可,等待分析结果。
3、协议选择完毕后,进⼊脚本创建界⾯
⼆、脚本创建
1、导⼊服务
管理服务->导⼊,输⼊被测服务的路径导⼊,确定
2、添加调⽤程序
1、添加服务调⽤->选择操作的⽅法名->填写输⼊参数和输出参数,确定后,会⾃动⽣成测试脚本
Request:请求参数,输⼊对应的必填项
Indentify:登录信息,ID和password对应⽤户名和密码
Response:返回参数,将需要的参数保存在参数中,以备后续函数调⽤
2、⽣成脚本界⾯
3、需要对参数重新设置,选择“树”型显⽰⽅式,可以对脚本进⾏重新编辑
4、对相应参数进⾏参数化,可以⽤记事本编辑
5、运⾏时设置,快捷键F4
运⾏逻辑:设置脚本迭代次数,即脚本循环次数
思考时间:可以设置脚本运⾏过程中是否考虑思考等待时间
其他:错误处理,⼀般选择出现错误时仍然继续
3、返回结果判断
1、单个返回结果判断
例如,当我们调⽤Webservice接⼝输⼊如下参数时"<mobileno>133********</mobileno> <smscontent>飞信</smscontent>",接⼝正确返回结果包括"飞信是中国移动的业务"。
在此我们就需要对返回结果进⾏判断。
⽰例代码如下:
lr_eval_string函数说明
C的变量都不能被LR的函数直接调⽤。
所以:LR函数调⽤C变量,得先经过lr_eval_string的解析,相当于桥梁的作⽤。
strstr函数说明
函数格式为strstr(str1,str2),其中str1: 被查找⽬标string expression to search,str2:要查找对象The string expression to find.该函数返回str2第⼀次在str1中的位置,如果没有找到,返回NULL.
lr_error_message和lr_output_message函数说明
lr_error_message函数将错误消息发送到输出窗⼝和Vuser⽇志⽂件。
lr_error_message在回放⽇志中显⽰的是红⾊的字体,且显⽰语句所在⾏号;同时,如果脚本在controllor中运⾏时,会⽣成⼀个error信息。
lr_output_message函数将带有脚本部分的⾏号的消息发送到输出窗⼝和⽇志⽂件。
2、多个返回结果判断
与单个结果判断类似,其实就是嵌套if语句,在此恕不赘述,⽰例代码如下:
三、⾯向⽬标场景设置
1、打开controller,选择要运⾏的测试脚本,如果测试⽬标确定,选择⾯向⽬标场景,否则选择⼿动场景
2、编辑场景⽬标,根据需求⽬标选择相应的⽬标类型,设置⽬标参数,运⾏时间
3、添加load generator,点击⽣成器->添加,输⼊名称、临时⽬录,确定,选择添加的信息点击连接,状态显⽰就绪,说明连接成功
4、结果⽬录设置
结果->结果设置,输⼊结果名称和保存的⽬录位置
5、监控参数设置
进⼊运⾏界⾯,选择视图右键打开新图,选择要监控的信息
6、添加windows资源视图
右键windows资源->添加度量->添加->名称输⼊监控⽬标的IP地址,确定
7、运⾏时设置
设计界⾯,运⾏时设置,其他,勾选“出现错误时仍然继续”
8、开始场景,观察运⾏过程中的情况
四、结果分析
1、打开loadrunner analysis,打开controller结果设置路径下的⽂件
查看结果中,每秒事务通过数、响应时间是否符合需求,查看windows资源是否使⽤正常
五、常见问题
1、loadrunner监控windows资源⽆法连接问题
⑴保证被监视的windows系统开启⼀下两个服务:remote procedure call(rpc)和remote registry server
⑵cmd命令输⼊:net use \\192.168.1.xxx(监控服务地址)
⑶输⼊⽤户名和密码即可
六、注意事项
1、脚本运⾏过程中,没有出现异常,但是后台log会提⽰错误,注意观察后台错误信息内容,排查脚本存在的问题。
七、实战练习
1、需求说明:
实际项⽬中,需要测试组件是否可以保存最⼤20000个会话,同时在保存20000个会话后,⽤户可以正常发送上⾏短信结束该20000会话。
压⼒测试中,我们共添加了50个虚拟⽤户,那么⼀个虚拟⽤户只需开始保存20000/50=400个会话,后结束这些会话即可。
2、脚本编写
3、lr_whoami函数说明
void lr_whoami (int *vuser_id, char **sgroup, int *scid);
返回值:返回当前运⾏的vuser ID、运⾏脚本的组名称以及场景ID
参数说明:
int *vuser_id 需先注册,保存正在运⾏的vuser的ID,在Virtual User Generator中回放返回-1
char **sgroup 需先注册,保存正在运⾏的vuser的组名(脚本名),在Virtual User Generator中回放返回None
int *scid需先注册,保存正在运⾏的Scenario的ID,在Virtual User Generator中回放返回0
4、lr_save_int函数说明
lr_save_int函数意思是把⼀个整数保存为参数
abs(id)意思是取id的绝对值(因为在Virtual User Generator中,id返回为-1)。