1、脚本录制
脚本录制
a、如何选择协议
b、开始录制脚本
脚本开发过程
如何选择协议
各种协议和相关头文件的对应关系
选择协议的常用方法主要有以下几种:
1、询问开发工程师数据通讯采用何种协议
2、当没有开发工程师支持时,可以通过概要或详细设计手册获知所使用的协议;
3、使用协议分析工具捕获包进行分析,然后确定被测对象所使用的协议。
4、根据以往测试经验来判断被测试对象采用的协议,这种方法具有猜测性,有时候不一定具备;
协议分类表
LoadRunner提供三种选择协议的方式
1、单协议脚本
2、多协议脚本
3、最近新建脚本类型使用过的协议
开始录制脚本
Web(HTTP/HTML)协议为例
2、Recording Options设置
Recording标签页
HTML-base script方式:是对每个页面录制形成一条语句,在该模式下,访问一个页面,首先会与服务器之间建立一个连接获取页面的内容,然后从页面中分解得到其他的元素(component),然后建立几个连接分别获取相应的元素。
URL-base script方式:是将每条客户端发出的请求录制成一条语句,对在该模式下,一条语句只建立一个到服务器的连接,并将通讯过程中的很多隐藏的信息都录制出来(如session、cookie)。LoadRunner提供了web_concurrent_start和web_concurrent_end函数模拟URL-base script的工作方式。
分别使用这两种模式录制一个登录过程的脚本
HTML方式录制
URL方式录制
Advanced标签页
其中“Save snapshot resources locally”表示运行结果中保存一个快照。“Add comments to script for HTTP errors while recording”表示出现错误时会自动添加注释
Advanced标签页
Correlation标签页
Correlation标签页用来对脚本中的关联属性进行设置。选中需要的关联规则,这样在时行录制脚本时会自动的进行关联。当然这里也可以点击“New Application”按钮来新建一个关联,再点“New Rule”按钮为该关联新建一个规则
Correlation标签页
3、Run-Time Setting设置
Run Logic标签页
设置运行脚本的迭代的次数,可以更改“Number of iterations”的值来设置迭代的次数
Pacing标签页
Pacing选项主要是用来设置脚本迭代过程中,两次重复执行的时间间隔。
1、As soon as the previous iteration ends:在多次迭代时,一次执行完后马上执行下一次。
2、After the previous iteration ends:这里有两个选择Fixed和Random。选择Fixed表示上一次执行结束后,等待固定的一段时间后,再执行下一次;选择Random表示上次一执行结束后,等待一段随机的时间长度后,再执行下一次,这个随机时的取范围为设置的范围。
3、At fixed/Random intervals:这个表示不管上一次执行完与否,到达到规定的时间就开始执行下一次,这里也有两个选择Fixed和Random。Fixed表示固定的一个时间值;Random表示取一个随机值,随机值的范围是自己设置的。
Think Time标签页
Think Time选项用来设置用户操作的思考时间 。
AsIgnore think time:运行脚本的时候忽略思考停顿时间。
Replay think time:设置思考时间的延迟。
As recorded:根据录制时的思考时间来运行
Multiply recorded think time by:根据录制时思考时间的整数倍来运行。
Use random percentage of recorded think time:设置一个最大值和最小值,从中选出一个随机值。一般在实际使用过程中选择这种模式。
Limit think time to :设置一个最大的think time 的值,如果录制值超过最大值,就以最大值为准。
Miscellaneous标签页
1、Error Handing选项表示运行时出现错误时的处理,一般不需要改动。
2、Multithreading选项表示运行时把虚拟用户当作进程还是线程来处理。Run Vusers as a process表示把虚拟用户当作进程来处理。Run Vusers as a thread把虚拟用户当作线程来处理。在这里一般选择把虚拟用户当作进程来处理,这样才更真实的模拟了用户的操作。
3、Automatic Transactions选项用来设置事务模式。Define each action as a transaction:将一个action看作一个事务。Define each step as a transaction:将每一个操作步骤看作一个事务。
4、脚本完善
插入事务
插入事务的两种方法:脚本录制中插入和录制后
插入事务的几种状态LR_AUTO、 LR_PASS、LR_FAIL、 LR_STOP
1、LR_AUTO:事物的状态被自动设置,如果事务执行成功,状态设置为PASS,如果执行失败,状态设置FAIL,如果由于异常中断,状态被设置成STOP。
2、LR_PASS:事务如果执行成功,代码返回的状态是PASS。
3、LR_FAIL:事务如果执行失败,代码返回的状态是FAIL。
4、LR_STOP:事务如果由于异常中断,代码返回的状态是STOP。
插入集合点
插入集合点的两种方法: 脚本录制中插入 和 录制后
插入注释
插入注释的两种方法:脚本录制中插入 和 录制后