对一个手机音乐播放器项目进行测试,需要测试和服务器交互的信令,分析了信令协议后,还是确定使用LR来执行
该播放器和服务器的交互采用HTTP协议,支持POST和GET两种方式,使用Loadrunner的web_custom_request可以很轻松实现该功能
脚本如下:
Action()
{
//4.2.2 歌曲详细信息访问接口POST方式实现
web_custom_request("music1",
"URL=http://172.16.11.162:9055/musicSync/syncMusicDetail.do",
"Method=POST",
"Resource=0",
"Referer=",
"Mode=HTTP",
"EncType=text/html; charset=UTF-8",
"Body=<?xml version=/"1.0/" encoding=/"UTF-8/"?>/r/n"
"<message>/r/n"
"<spcode>16</spcode>/r/n"
"<hsman>aux</hsman >/r/n"
"<hstype>1111</hstype>/r/n"
"<imsi>232323</imsi>/r/n"
"<musicid>119</musicid >/r/n"
"</message>",
LAST);
//4.2.2 歌曲详细信息访问接口GET方式实现
web_custom_request("music2",
"URL=http://172.16.11.162:9055/musicSync/syncMusicDetail.do?sp=16&hm=aux&ht=1111&is=232323&id=119",
"Method=GET",
"Resource=0",
"Referer=",
"Mode=HTTP",
"EncType=text/html; charset=UTF-8",
"Body=",
LAST);
return 0;
}
两种方式实现的功能是相同的,而要观察服务器的返回信息,LR的HTTP协议方式执行时只需要在日志选项中选中扩展日志中的“服务端返回的数据”即可,返回结果如下:
虚拟用户脚本已启动
正在开始操作 vuser_init。
Web Turbo 重播 LoadRunner 8.1.0 for WINXP; Web 内部版本 4788 [MsgId: MMSG-27143]
运行时设置文件: "F:/music/12530L//default.cfg" [MsgId: MMSG-27141]
正在结束操作 vuser_init。
正在运行 Vuser...
正在开始迭代 1。
正在开始操作 Action。
Action.c(4): “http://172.16.11.162:9055/musicSync/syncMusicDetail.do”(RelFrameId=1)的 t=1833ms: 111 个字节响应标头
Action.c(4): HTTP/1.1 200 OK/r/n
Action.c(4): Server: Apache-Coyote/1.1/r/n
Action.c(4): Transfer-Encoding: chunked/r/n
Action.c(4): Date: Wed, 24 Jun 2009 06:43:13 GMT/r/n
Action.c(4): /r/n
Action.c(4): “http://172.16.11.162:9055/musicSync/syncMusicDetail.do”(RelFrameId=1)的 t=1945ms: 3 个字节成块响应开销
Action.c(4): 3/r/n
Action.c(4): “http://172.16.11.162:9055/musicSync/syncMusicDetail.do”(RelFrameId=1)的 t=1956ms: 3 个字节成块响应正文
Action.c(4): 200
Action.c(4): “http://172.16.11.162:9055/musicSync/syncMusicDetail.do”(RelFrameId=1)的 t=1966ms: 2 个字节成块响应开销
Action.c(4): /r/n
Action.c(4): “http://172.16.11.162:9055/musicSync/syncMusicDetail.do”(RelFrameId=1)的 t=1977ms: 5 个字节成块响应开销
Action.c(4): 0/r/n
Action.c(4): /r/n
Action.c(4): web_custom_request("music1") 已成功,3 个正文字节,111 个标头字节,10 个成块开销字节 [MsgId: MMSG-26385]
正在结束操作 Action。
正在结束迭代 1。
正在结束 Vuser...
正在开始操作 vuser_end。
正在结束操作 vuser_end。
Vuser 已终止。
响应正文中返回200代表请求成功,再配合对服务端数据库的数据检查即完美地实现了对该HTTP协议交互项目的测试.