一、测试脚本

当录制脚本时,VuGen会拦截client端(浏览器)与server端(网站服务器)之间的对话,并且通通记录下来,产生脚本。在VuGen的Recording Log中,您可以找到浏览器与服务器之间所有的对话,包含通讯内容、日期、时间、浏览器的请求、服务器的响应内容等等。脚本和Recording Log最大的差别在于,脚本只记录了client端要对server端所说的话(图中蓝色部分),而Recording Log则是完整记录二者的对话。

截图23.png

当执行脚本时,您可以把VuGen想象成是一个演员,它伪装成浏览器,然后根据脚本,把当初真的浏览器所说过的话,再对网站服务器重新说一遍。

此时,大部分通过录制生成的脚本仅为“半成品脚本”,必须经过我们调试、编辑,才能真正担负起运行场景的任务。

针对Web(HTTP/HTML)协议,Loadrunner提供两种脚本录制方式,HTML-based script和URL-based Script模式。默认情况下,Loadrunner选择的是“HTML-based script”,但我们严重推荐使用 “URL-based Script”模式录制。

接下来简要说明一下两者的区别:

HTML-based script:为每个用户请求生成单独的函数,脚本简短清晰,但无法录制Applet、JavaScript、以及其他非Browser的应用程序。 因此,在某些项目中,会遗漏掉相关程序逻辑的录制。

URL-based Script:捕获所有作为用户操作行为,发送给服务器的HTTP请求,甚至抓取非HTML应用程序,如Applet、JavaScript 等,并一一记录。脚本特点,内容多,可读性不高。因此建议在录制脚本时,养成积极填写注释文字的习惯,可以大大增强在脚本编辑阶段的可读性。

为了更好的学习LoadRunner脚本知识,我们可以使用LoadRunner免费提供给我们使用的一套简单的航班订票系统。该套系统属于web应用程序,对我们学习LoadRunner HTTP协议下编辑测试脚本有很大的实验价值。启动LoadRunner自带的订票系统。开始>程序>LoadRunner>Samples>web>启动web服务器。该服务会自动使用我们电脑的1080端口,如果之前我们的1080端口未被占用,会很顺利的启动该应用服务。启动成功后,在任务栏下边有个绿色的标志“%E6%88%AA%E5%9B%BE24.png?version=1&modif”(见下图如何启动)。这时,我们

的电脑也就相当于一个航班订票系统的应用服务器+数据库服务器了。

截图25.png

 打开浏览器访问:http://127.0.0.1:1080/WebTours/(或者点击上图红框位置的上边HP Web Tours Application),打开后如下图:

截图26.png 如果应用服务启动不起来,要排查1080端口是否是被其它应用进程所占用,我们通过以下方法来解决。开始>运行,输入:cmd,进入命令行模式。在命令行模式窗口中,输入:netstat -ano,然后在输出信息中,找到占用1080端口的进程,记下该进程号PID,如下图:

截图20.png

然后,我们需要关掉这个PID为5180的进程。在命令行中继续输入:taskkill /f /pid 5180(后边这个数字为上图红框中的pid,下图因为是后截的图和原图不一致)。如下图:

截图27.png

OK,再次启动一下航班订票系统的服务吧。

二、脚本录制前准备工作:

1、设置字符集:Tools>>Rcording Options>>Advanced>>Support charset   UTF-8

截图28.png

2、清空本地浏览器缓存:

删除所有浏览历史记录。在 Internet Explorer 8 中,单击“工具”菜单,选择然后单击“删除Internet选项,在常规页下点击删除,在弹出的删除浏览的历史记录的对话框中全部勾选”,单击“删除”(其它浏览器自己研究吧,现在只拿IE8举例)

截图29.png


3、根据业务逻辑,分析是否采取迭代机制,确定脚本录制结构。

4、在录制开始前,设置脚本统一采用“URL”的方式进行录制。

%E6%88%AA%E5%9B%BE30.png?version=1&modif 截图31.png

三、脚本录制过程:

 1、建议在脚本录制过程中,伴随操作步骤,实时加入对重要步骤的“ 注释说明”。养成该习惯,对下一步的脚本编辑、脚本阅读都有非常方便的作用。实现方法:通过点击漂浮工具栏上的注释按钮,如图:

截图32.png

2、录制的每一步操作,要以漂浮工具栏上的时间统计数字不再增加为准,然后方可进行下一步的操作,如图:

截图33.png

3、操作时间尽量真实、连续,由此获得真实的思考时间记录。作为场景执行时可以参考的思考时间。

四、脚本录制完成:

1、回放调试。更换输入值,在业务系统上检查是否脚本可用。例如,我们在录制脚本时,使用name1用户登录,新增了个人账户下的某条数据。新用户name2的个人账户下没有任何新增数据记录。这时,我们把脚本中登录用户更改为name2,回放脚本。通过业务系统验证脚本的执行结果。在回放脚本后,我们建议打开运行结果自动弹出窗口。点击菜单Tools>General  Oprions,点击Replay标签,After Replay项,选择Visual test result,如图:

截图34.png


wKioL1gtBcjDvJQzAAAqVRVZKO0850.png-wh_50

 2、如果更换用户导致无法得到预想结果,说明该测试脚本是不能立刻用来运行场景的。虽然 ,LoadRunner运行脚本的结果并不会给出任何错误信息,提示为Passed。这里需要明确的是,LoadRunner每次运行脚本时,不对具体的应用逻辑进行判断,只判断自身的协议数据是否正确发送,自身脚本的各类函数是否有效执行。

 3、对于“半成品测试脚本”,我们需要通过在关键业务点位置增加“检查点”来排查问题。

一般情况下,对于“半成品测试脚本”,我们需要增加以下几种或者全部的编辑行为:检查点、关联、参数化、定义事务、thinktime维护、集合点、迭代设计;