脚本是性能测试的基础
1.录制
A.我们录制的开始和录制的结束,应该是一致的画面。
B.loadrunner是很好的性能测试工具,它在造大量数据的时候也很有用处(比如造多个注册用户),用参数化就可以做到。
1.录制注册
注意用户名最好是比较简单的,有规律的,便于以后参数化。密码可以设置一样的,就不需要参数化。
如用户名为test,注册邮箱可以为test@qq.com,这样就属于有规律的,便于参数化。
总之:在注册之前要考虑录制脚本时可能会遇到的问题。
2.
2.脚本增强
A.加入常用函数:
web_feg_find() //检查html页面文字信息 (放到执行操作的前面)
ir_eval_string()
atoi() //用于将string转换成整形
lr_output_message() //相当于c语言printf()语句
lr_error_message() //错误输出
B.加入逻辑、选择、循环等语句
for,if else
C 添加事务(Transaction):在LoadRunner中的定义如下:An end-to-end(browser-to-browser) measurement of one or more user actions within action file。中文理解如下:事务(Transaction)是这样一个点,我们为了衡量某个action的性能,需要在action的开始和结束位置插入这样一个范围,这就定义了一个transaction
作用:LoadRunner运行到该事务的开始点时,LoadRunner就会开始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间在LoadRunner的运行结果中会有反映。通俗的讲LoadRunner中的事务就是一个计时标识,LoadRunner在运行过程中一旦发现事务的开始标识,就开始计时,一旦发现事务的结束表示,则计时结束,这个过程中得到的时间即为一个事务时间。通常事务时间所反映的是一个操作过程的响应时间。
D.添加集合点
原因:执行负载测试时,需要模拟系统上有较重的用户负载。要实现此操作,可以同步 Vuser 以便恰好在同一时刻执行任务。通过创建集合点,可以配置多个 Vuser 同时执行操作。当某个 Vuser 到达该集合点时,将进行等待,直到参与该集合的全部 Vuser 都到达。指定数量的 Vuser 均到达后,释放所有这些 Vuser。
E.添加思考时间
原因:在录制脚本时 我们一般会选择记录思考时间 record think time,Loadrunner做为性能测试工具,录制时记录的是客户端和服务端的交互,如果要精确模拟 用户的行为,那么客户操作客户端时花费了很多时间要怎么模拟呢?录入填写提交的内容,从列表中下拉搜索选择特定的值等,这时LOADRUNNER 不会记录用户 的客户端操作,而是记录了用户这段时间,成为思考时间(Think-time),因为用户的这些客户端操作不会影响服务端,只是让服务器端在这段时间内没有请求而已。,所以加入思考时间就能模拟出熟练的或者生疏的用户操作,接近实际对于服务端的压力。
关于添加事务、集合点、思考时间参见:http://www.ltesting.net/ceshi/ceshijishu/rjcsgj/mercury/loadrunner/2010/1103/199380.html