自动化测试框架爱好者,非培训机构、非托、非盈利,纯个人!软件自动化测试交流 请加我QQ 459864689!更多自动化测试的信息请访问我的个人小站www.zhushangyuan.cn,专门研究selenium自动化测试框架的分享站点。
LoadRunner之自定义HTTP请求
上一篇 /
下一篇 2009-05-06 16:18:33
/ 个人分类:性能测试
不管是RPT,还是LR,做
性能测试开发脚本时使用的都是同样的模式。对在性 能测试规
划时指定的典型业务逻辑场景进行录制,形成基本的脚本骨架。录制 脚本后需要对脚本进行
编辑,以满足性能测试需求,编辑脚本需要掌握参数化 、关联动态数据、增加逻辑控制等技
术。如果不能处理好脚本的录制和编辑, 就不可能有效和成功的继续进行性能测试。
51Testing软件测试网{ufQ_G 什么是参数化数据和动态数据呢?这些数据都会做为http请求数据的一部分发送到
web服
务器,但二者肯定是有区别的。录制业务逻辑脚本时,生成的脚本包含的是录制期间实际用到
的值。不做参数化这个脚本仍可以重放,不做关联动态数据,重放脚本就会出现问题。在给系
统施加压力的时候,同一个脚本会被很多虚拟用户调用执行,应用系统现在都采用各种各样的
缓存机制设计,不能使用同样的数据,这和应用系统的实际使用环境不一致,这会导致性能测
试结果不可信。为解决这样的问题我们做参数化,使用参数替换已录制的值。参数化数据也有
不同的种类,比如登录用户和密码,这些数据必须是系统支持的注册用户,需要从
数据库表中
读取。另一些表单的文本输入框,就可能允许随意输入数据。需要关联的数据是从服务器响应
中获取的,在以后的请求中发送到服务器的数据。可以通过web_reg_save_parm()这个LR API从
服务器响应中获取保存动态数据。动态数据通常在删除一些数据或审核后记录进入以后的流程
环节等情况下出现。
本篇文档会结合实例对动态数据数组和自定义HTTP请求进行介绍。演示使用的性能测试
工具是LR8.0,使用的web应用是工具自带的MercuryTours Web系统,版本不一致,可能导致本
文档中的脚本不能正确运行。
Mercury Tours系统功能很简单,提供了航班订票(Flight菜单)
和取消预订航班(Itinerary菜单)两个功能。需要自己注册,登录系统以使用这些功能。其中,
取消预订航班的操作步骤为:登录系统-点击Itinerary菜单-选择一条预订的航班记录-点击按钮
"cancel checked reservations"以取消该航班。如图1:
51Testing软件测试网iN#Zz9e$nB
现在系统中有五条航班预订记录,按上述操作步骤,录制LR脚本取消一条预订记录,如图2:
51Testing软件测试网:_6D2_P6\
t{