LR8.0中文手册_Chapter6 准备负载测试脚本

<本文属原创,如需转载请与本人联系>

第六章     准备负载测试脚本

在前面的课程当中,你已经可以看到脚本可以准确模拟你的应用程序。你看到了在现实中回放的脚本模拟虚拟用户的典型的事务处理过程。

然而这些只是在模拟一个单一的用户的行为,如果模拟多个用户同时工作,你的程序会不会慢到无法工作的程度呢?

因此,接下来,将准备负载测试的脚本,并对其进行设置,来收集其集中的反应时间。

在下边的课程中我们将会设计到如下的话题:

Ø         如何衡量事务处理

Ø         如何模拟多个用户

Ø         如何确认页面内容

Ø         如何生成调试信息

Ø         测试成功了么

如何衡量事务处理

       为了配置需要而准备一个应用程序时,你需要测量某些特殊的动作持续的时间-登录花多少时间,航班预定花多少时间,等等。

       LoadRunner中,你可以将你要测量的动作指定为事务(transaction)。LoadRunner将会统计这些事务执行的时间。你可以在彩色编码图(color-coded graph)或者报告(report)中查看相关结果。你可以根据这些信息来判断找个应用程序是否满足了最原始的需求。

       在步骤(step)前设置一个”start Transaction”,在步骤结束设置“End Transaction”可以将一个用户的步骤标志成事务类型。在回放过程中LoadRunner测量事务开始和结束标志之间的时间。

       你可以在你的脚本的任何地方设置事务(transaction),每个事务开始标志必须对应一个事务的结束标记。

1.  login步骤中插入“Start Transaction

tutorial.usr脚本的测试树中,,右单击第一步出现:Submit Form: login.pl.

选择Insert Before 打开Add Step dialog box.

选择Start Transaction,单击OK

Start Transaction dialog box”被打开了

Transaction Name框中输入login 单击OKVuGen会在Submit Form: login.pl步骤前插入一个事务标记。

2.  插入End Transaction步骤

在测试树中,右单击Submit Form: login.pl,选择 Insert After,打开“Add Step”对话框,选择 End Transaction后单击OK,打开“End Transaction”对话框。

transaction name 中输入login,接收默认状态LR_AUTO.,单击OKLoadRunner会在Submit Form: login.pl后填加事务结束标记。

3.  标记search_flight事务

在测试树中,右单击步Image: Search Flights Button这一步,选择Insert Before.--> Start Transactionà OK, Transaction Name中输入search_flight单击OK

右单击步Image: Search Flights Button这一步,选择Insert After.--> End Transactionà OK, Transaction Name中输入search_flight单击OK

4.  标记book_flight事务

在测试树中,右单击步Submit Form: reservations.pl_2这一步,选择Insert Before.--> Start Transactionà OK, Transaction Name中输入book_flight单击OK

右单击步Submit Form: reservations.pl_2这一步,选择Insert After.--> End Transactionà OK, Transaction Name中输入book_flight单击OK

5.  标记check_itinerary事务

在测试树中,右单击步Image: Itinerary Button这一步,选择Insert Before.--> Start Transactionà OK, Transaction Name中输入check_itinerary单击OK

右单击步Image: Itinerary Button这一步,选择Insert After.--> End Transactionà OK, Transaction Name中输入check_itinerary单击OK

6.  标记search_flight事务

在测试树中,右单击步Image:SignOff Button这一步,选择Insert Before.--> Start Transactionà OK, Transaction Name中输入logoff单击OK

右单击步Image:SignOff Button这一步,选择Insert After.--> End Transactionà OK, Transaction Name中输入logoff单击OK

如何模拟多个用户

在你的模拟过程中,你从Denver预定了一个航班。然而在现实生活中,你可以从不同的地方预定机票,为了改善你的测试,你需要检查除了Denver以外的其他目的地是否可以正常工作。

为了完成这步,你需要为脚本设置参数,这意味着你要找到Denver,然后用一个参数来替换它。在参数(parameter)文件中,你将会看到这个参数的值。当你执行脚本时,虚拟用户将会从参数文件中获得值: Los Angeles, Frankfurt等,因此可以模拟一个旅行代理机构。

1.   找到你想要改变的数据

在测试树中,双击Submit Form: reservations.pl这一步,打开Submit Form Step Properties对话框。

右侧栏中的ABC图标标识已经指定了参数。

2.  指定这个给定的值是个可变的值

在第一行选择depart值为Denver

单击ABC图标,打开Select or Create Parameter对话框

3.  建立参数

指定参数名origin,使用File的参数类型,单击OKVuGen将会将ABC图标换成参数的图标。

4.  单击临近的参数图表(origin),在弹出的菜单中选择参数属性,打开属性对话框。

5.  指定一些样本值来改变数据

单击Add Row. VuGen将会在表格中增加一行,将值换成Los Angeles

单击Add Row. VuGen将会在表格中增加一行,将值换成Frankfurt.

单击Add Row. VuGen将会在表格中增加一行,将值换成Sydney

6.  定义出数据改变的方式

保持默认值,VuGen会按照顺序来取得路线值-非随机

Select next row: Sequential

Update value on: Each iteration

7.  单击Close关闭参数属性对话框,单击OK关闭步骤(step)属性对话框。

现在你已经指定了出发的城市,在你执行负载测试时,Vuser将会用这个参数值来代替录制的值Denver

执行脚本时,执行日志会显示出每次循环中替代的参数值,在第一次循环时,Vuser使用Denver,第二次使用Los Angeles,依次类推。

8.  修改脚本以执行服务器端的动态数据

应用程序范例使用了动态数据来处理航班信息。这就需要参数化或者相互关联以保证多个用户运行而不会出错。第五课提供了处理动态值的细节,但是为了练习起见,你可以在你的脚本中包含动态值

* 转换到Script view.,选择View > Script View,或者单击Script View按钮。

找到以“Name=outboundFlight”开始的那行,并在前边加反斜线(//),修改后的行应该如下:// “Name=outboundFlight”, ......

转换到Tree view.模式,选择View > Tree View,或者单击Tree View按钮。

如何确认页面内容

在执行测试时,你经常需要确定某些内容是否包含在返回的页面当中,checkpoint可以保证在你的脚本执行过程中某些期望的信息会显示在页面上,你可以插入两种类型的checkpoint

Ø         text checkpoint检查页面上是否存在某个文本

Ø         image checkpoint检查页面上是否存在某个图片

Mercury Tours页面中,你可以用chekpoit保证在你登录后显示正确的屏幕

查找一个图片

       现在你可以为flight confirmation image splash_flightconfirm.gif填加一个检查点来查找到这个图片。

1.  选择包含你要查找的图片的页面

选择包含文本检查点的页面,选择Submit Form: reservations.pl_3步,在右侧可以显示其镜像。

2.  插入图片检查点

选择Insert > New Step.打开Add Step dialog 对话框展开 Web Checks 并选择 Image Check. 单击 OK.打开Image Check Properties对话框。

3.  指定图片

Specification 标签中,选择Image server file name, edit box.输入图片的名字, splash_flightconfirm.gif

4.  保存脚本

在回放过程中, VuGen 查找图片 splash_flightconfirm.gif 并在日志中指明是否找到了它。

如何生成调试信息

从某种角度看,在执行测试过程中,你经常需要输出一些信息,指出你当前的位置和其他的一些信息,这些输出信息既可以显示在日志当中,也可以显示在控制台输出窗口中。你可以发出一个标准的输出信息或者错误信息。

在这个教程的范围中,我们将会插入错误信息,而不是检测真正的出错信息,处理错误信息的一种值得推荐的方法是查看错误状态,如果状态为失败,你发出一个错误信息。请参考相关功能的在线例子。

在我们的应用需求中,我们想在完成整个预定过程后输出一个错误信息。

插入输出和错误信息

1.  选择位置

选择最后一步,Image: SignOff Button. 在右侧可以看到它的镜像。

2.  插入输出信息

选择 Insert > New Step. 打开Add Step对话框. 向下华东并选择Output Message.

单击 OK.打开 Output Message对话框. Message Text 中输入“The flight was booked

单击OK. Output Message被加到了树中.

3.  插入错误信息

选择 Insert > New Step. 打开Add Step对话框. 向下华东并选择Error Message.

单击 OK.打开 Output Message对话框. Error Text 中输入“An error has occurred

单击OK. Error Message被加到了树中.

4.  选择File > Save 或者单击 Save

测试成功了么

       在这节中,你可以执行全部的脚本,查看执行日志,你可以查看文本和图片的检查点,同时检查事务和参数。

       默认情况下,由于图片占用的内存空间比较大,图片的检测点同时是设置成不可执行的,如果你想完成图片的检测点,你要在run-time setting中将其设置为可用。

1.  将图片检查设置为可用

打开 Run-Time settings (F4) 并选择Internet Protocol:Preferences 节点,选择Enable image and text check选项,单击OK关闭Run-Time Settings对话框。

2.  执行脚本

单击执行按钮或者按下快捷键F5. VuGen 开始执行脚本,并界在输出窗口中生成日志,等待脚本执行完毕。

3.  确定文本检测点

单击日志,并按下Ctrl+F打开查找对话框,查找web_reg_find. 将会显示如下:

Registering web_reg_find was successful.这并不是真正的文本检查它只是为了在提交表单后VuGen可以检查文本,再次查找(F3)下一个web_reg_find. 将会显示如下:

Registered web_reg_find successful for “Text=Thank you” (count=1).

这表明文本已经找到,如果有人改变了网页并删除了“Thank you”, 接下来的结果将会显示没有找到指定的文本。

4.  定位文字检测点

按下 Ctrl+F查找web_image_check. 查找结果显示为:

“web_image_check succeeded (1 occurrence(s) found.Alt='',Src=”splash_flightconfirm.gif.

这表明图片已经找到了,如果有人改变了页面,并且删除了这个图片,在后续的执行过程中将会显示没有找到图片。

5.  定位事务的开始点

单击执行日志按下Ctrl+F 打开查找对话框,查找”Transaction”. 找到的结果将显示为蓝色

6.  检查替代参数

单击执行的日志或者按下 Ctrl+F 打开Find对话框,查找单词”Parameter”. 在日志中含有通知“origin” =“Denver”. 再次查找 (F3) 下一个替换. 注意VuGen 在每次迭代中是如何取值的。

7.  保存: File > Save 或者单击Save

下一节

现在你已经建立了一个脚本并将其用于负载测试,你可以进行第七章的学习,创建负载测试的情境。

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值