《LoadRunner性能测试巧匠训练营》——2.7 VuGen使用技巧

2.7 VuGen使用技巧

至此,小白可以松口气了,常规的录制、放回、设置、脚本编写已经完全掌握了,终于达到了一个里程碑,值得庆祝。不过闲不住的小白还是想利用休息时间继续看看LoadRunner的VuGen中的各种功能。
2.7.1 协议嗅探
Portocol Advisor(协议嗅探)功能是LoadRunner 11中的新增功能,只是为了给大家选择协议时提供参考意见而已,这个功能不能全信,只是在我们没有头绪时,可以参考嗅探出的协议。协议嗅探使用步骤如下。
1)单击菜单File→Protocol→Analyze Application,在弹出的对话框中选择待分析内容,并做相关设置后单击OK按钮,如图2-50所示。
2)对打开的页面进行一些操作,如登录,然后单击Stop Aanlyzing按钮,完成协议的嗅探,之后便会看到报告,如图2-51所示。

2.7.2 通用设置
General options(通用设置)是全局生效的,一般情况下很少改动这里。入口在菜单Tools→General Options中。下面介绍主要选项。
1)Parameterization:参数化。其子选项含义如下。

  • Parammeter Braces:可自定义参数括号的类型。

2)Replay:回放。如图2-52所示,各子选项含义如下。

  • Animated run:用来设置LoadRunner中的某个函数与另外一个函数之间的等待时间(单位为毫秒),以实现脚本减速运行。
  • Prompt for results directory:是否提示测试报告保存的目录名,默认情况下为result1,选中会每次提示让用户输入保存的目录名。
  • After replay View before replay:返回到回放前的状态。
  • After replay Replay summary:直接打开回放结果统计。
  • After replay Visual Test Results:打开测试报告

3)Environment:环境。如图2-53所示,各子选项含义如下。

  • Save AutoRecover information every X minute:每隔X分钟自动保存恢复信息。可在Loadrunner崩溃时还原脚本。
  • Auto show function syntax:自动显示函数语法。
  • Auto complete word:自动完成函数提示,输入函数的第一个字母时,显示一个函数列表,通过它可以选择函数,而无须手动输入函数。
  • Select Font:设置编辑器的字体。
  • Comparison Tool:打开自定义对比工具,可以和另外一个功能一起使用。

4)Display:显示。如图2-54所示,各子选项含义如下。

  • Show run-time viewer during replay:显示正在运行的脚本在页面中的表现,选中后,VuGen打开自己的浏览器来显示脚本执行的效果,这是调试脚本的一个重要方法。
  • Generate report during script execution:用来生成测试结果报告。

5)Correlation:关联。如图2-55所示,各子选项含义如下。

  • Enable Scripting and Java applets on Snapshot:启用脚本和Java应用程序快照。如果JavaScript脚本在TreeView视图里显示有问题,则可以尝试勾选该项。
  • Download images on Snapshots viewer:在快照显示器里下载图片。

(4)
2.7.3 录制设置
Recording options(录制设置)是对正式录制操作前进行一些参数设定。入口菜单为Tools→ Recording Options。这里面有很多选项,但对于测试来说,很多都是不需要太关心的,保持默认即可,下面介绍比较重要的选项设置。
1)Recording:录制选项。这里提供了两种录制方式,如图2-56所示。

  • HTML-based script(基于HTML的脚本)。这种方式录制出来的脚本是基于HTML基础的。一般来说,如果使用IE访问的B/S架构就选择它。生成的脚本简洁,基于用户操作模拟,浅显易懂。
  • URL-based script(基于URL的脚本)。这种方式录制出来的脚本是基于URL请求的。如果采用非IE标准的C/S架构,建议使用该模式来录制脚本,这样可以确保不会遗漏任何HTTP请求,但生成代码比较繁琐。另外,使用了HTTPS协议也可选用此模式。

2)Port Mapping:端口映射,默认为Socket level data,如图2-57所示。一般情况下不需要更改,但是在无法录制脚本或者脚本为空的情况下,可以选择此选项为Socket level and WinlNet level data试试。

3)Advanced:高级设置。各子选项含义如下。

  • Reset context for each action:在录制过程中,每个action之间是否需要重置context,这里存放请求发送后返回的数据信息,如服务器返回的HTML、Cookie、Session等。
  • Save snapshot resources locally:在本地保存快照资源。
  • Generate web_reg_find functions for page titles:是否需要为每个标题自动生成web_reg_find检查点函数。
  • Generate web_rege_find functions for sub-frames:为子框架也生成检查点函数。
  • Add comment to script for HTTP errors while recording:录制过程中出错时添加注释内容。
  • Support charset:编码规则选项。如果出现了乱码,可以试着选中“UTF-8”,如图2-58所示。

  • Recording Engine:录制的兼容性选项,可以使用以前的录制引擎来录制脚本。
  • Recording scheme Headers:对Headers中的内容进行过滤。
  • Recording scheme Content Types:对录制的正文内容进行过滤。
  • Recording scheme Non-Resource:对非资源的内容进行过滤。

4)Correlatio:关联。子选项含义如下。

  • Enable correlation during recording:录制过程中启用自动关联。这个就是自动关联的开关。

2.7.4 Run-time Settings设置
Run-time Settings(运行时设置)是最常用的,也是调试脚本最常修改的地方。选择Vuser→Run-time Settings菜单项进入入口后,可以对以下几项内容进行设置。
1. Run Logic
如图2-59所示,可在Run Logic(运行逻辑)对Action设置迭代次数(运行的次数),Init和End不能设置。

  1. Pacing
    Pacing(步调)配置脚本运行中每次interation之间的等待时间,如图2-60所示。

  2. Log
    脚本回放验证时基本都是依靠Log(日志),过多的日志虽然可以更清晰地了解脚本执行的内容,但是也为定位带来了不便,所以要合适地选择日志设置。一般在调试脚本时打开,在Controller运行脚本时关闭。如图2-61所示,各子选项含义如下。
  3. Enable logging:勾选则打开日志,不勾选则关闭日志,不会在VuGen的控制台输出。
  4. Send message only when an error occurs:只有当发生错误时,才发送日志信息。
  5. Standard log:标准日志。
  6. Extended log:扩展日志。
  7. Parameter substitution:显示参数的赋值取值,一般参数化调试时打开此项。
  8. Data returned by server:显示服务器返回的数据。
  9. Advanced trace:高级的追踪,会显示非常多的数据信息。

  1. Think Time
    通过Think Time(思考时间)来设置模拟用户真实操作的等待时间,对应的函数是lr_think_time(),单位为s。选择As recorded时,表示与录制时的思考时间一样。Multiply recorded think time by表示以录制时间的几倍增加。Use random percentage of recorded think time表示用录制时思考时间的百分比。Limit think time to表示限制多少秒。
    忽略思考时间可以加大对系统的压力,但这种做法和真实业务不符,所以一般不采用。其余注意事项请回顾1.3.6。
  2. Miscellaneous
    在Miscellaneous(其他)中可以设置其他选项,如图2-62所示。
    1)Error Handing:错误处理。各子选项含义如下。
  3. Continue on error:出现错误时继续运行。
  4. Fail open transaction on lr_error_message:失败时使用lr_error_message函数打印。
  5. Generate snapshot on error:错误出现时生成快照。

2)Multithreading:进程与线程。各子选项含义如下。

  • Run Vuser as a process:以一个进程运行虚拟用户,进程是指一个虚拟用户用一个mmdrv.exe。
  • Run Vuser as a thread:以一个线程运行虚拟用户,线程是指多个用户一起使用一个mmdrv.exe。

3)Automatic Transactions:自动化事务。事务是用来获得某一行为所消耗时间的函数,默认情况下用户自定义事务。各子选项含义如下。

  • Define each action as a transaction:定义每一个action作为一个事务。
  • Define each step as a transaction:定义每一步作为一个事务

  1. Speed Simulation
    提供宽带模拟的选项,默认情况下,脚本以最大宽带来访问。
  2. Browser Emulation
    通过Browser Emulation(浏览器模拟)模拟整个HTTP头中的user-agent信息,从而让服务器错误地认为是一个个真实的客户端对服务器发出了请求,通过设置可以改变浏览器类型。如图2-63所示,各子选项的含义如下。
  3. User-Agent(brower to be emulated):浏览器的模仿。
  4. Download non-HTML resources:下载non-html资源。
  5. Simulate a new user on each iteration:每次迭代时模拟一个新用户。
  6. Clear cache on each iteration:每次迭代时清除cache。
  7. Preferences
    一般常规的设置都可以在Preferences(首选项)中完成,各选项含义如下。
    1)Checks:检查。
    其中,Enable image and text check为其子项。还记得图片检查点吗?如果使用图片检查点就必须勾选该选项。如果使用的是reg的文本检查点,则可以不勾选,如果使用的是不带reg的文本检查点,就需要勾选该选项。

    如果不是必需,最好不要勾选该选项,毕竟是在做性能测试,而不是功能测试。

2)Advanced Options:高级设置。
小白在网上看到很多人都会问关于“download timeout 120s”这样错误的原因和解决方法,其实这个错误在这里设置后就可以避免,主要修改HTTP-request connect timeout(sec),HTTP-request revice timeout(sec)、Setup download timeout(sec)三项的value值,适当调大即可。

时间: 2024-09-11 11:27:05

《LoadRunner性能测试巧匠训练营》——2.7 VuGen使用技巧的相关文章

《LoadRunner性能测试巧匠训练营》—— 导读

前 言 国内软件测试行业人才缺口已突破20万,并随着需求的不断攀升而挺向30万大关.据悉,国外成熟软件企业,一个软件开发工程师对应1-2个软件测试工程师,而国内软件企业,平均8个软件开发工程师才对应1个软件测试工程师,比例严重失衡.国内测试行业在这一点上与国外的差距比较大.实际上,为了保证软件质量,从项目开始测试人员就要介入,要了解客户需求,参与项目评审,把握测试要点.如果测试人员数量少,软件质量是得不到保证的.测试行业的确需要大量人才,尤其是在性能测试方面有丰富测试经验的人才更加稀缺. 另一方

《LoadRunner性能测试巧匠训练营》——第2章 LoadRunner VuGen实战2.1 LoadRunner快速安装

第2章 LoadRunner VuGen实战 经过上面的学习,小白已深入理解了性能测试,接下来小白需要通过一个性能测试工具来引导他动手实践,毕竟实践才是王道. 经过查找资料,小白发现性能测试工具貌似比较多,但LoadRunner是目前比较流行的,所以小白决定先学习最流行的性能测试工具.下面就和小白一起来见识下LoadRunner 11的强大功能吧! 2.1 LoadRunner快速安装 在Windows下安装软件一般都是4个步骤:下载.安装.配置.验证.小白到HP的官网找到了LoadRunner

《LoadRunner性能测试巧匠训练营》——2.4 脚本编写实战

2.4 脚本编写实战 知识的学习都是从易到难的,所以小白选择了最简单的场景.以提前注册好的用户名besttest,密码123123完成登录.退出的业务.别小看这么简单的场景,也许你也和小白一样遇到了不少问题呢. 通过"开始"菜单下的HP LoadRunner →Application→Virtual User Generator打开并新建一个空白的Web(HTTP/HTML)协议的脚本,首次会出现Task视图界面,如图2-8所示. 初学者可按照图2-8中的步骤学习.因为这里不使用此视图

《LoadRunner性能测试巧匠训练营》——3.2 场景设计实战

3.2 场景设计实战 Controller可以完成多种场景设计,如快增长.慢增长.组模式等,基本可以满足日常的性能测试场景需求.启动Controller后的新建场景界面如图3-1所示. 下面解释图3-1中的主要选项.1)Select Scenario Type:选择场景类型.根据需要,可以选择手工场景和基于目标的场景.各子选项含义如下. Manual Scenario:手工场景.就是手工指定场景如何运行,比较灵活,可以完成绝大多数的场景需求.此处还有一个选项,是否使用百分比模式,一般情况下不勾选

《LoadRunner性能测试巧匠训练营》——2.8 本章小结

2.8 本章小结 通过这段时间的学习,小白已经熟练地掌握了LoadRunnerA的VuGen使用,并能把常用的技术点与技巧很好地运用到项目实战中.回顾来看,VuGen的功能还是蛮强大的,从编写到调试再到细微的设置,不愧为传说中性能测试的"神器",也更加坚定了小白继续学习的信心.在高兴之余,小白也认识到很多事情是可以遵循步骤规则的,就像脚本的编写开发.小白也体会到只有总结.梳理学到的知识,才能让自己的头脑变得更清晰,从而不至于毫无头绪地抓狂.下一章小白将学习LoadRunner的第二大组

《LoadRunner性能测试巧匠训练营》——2.6 脚本调试实战

2.6 脚本调试实战 经历完脚本编写的折磨后,小白并没有休息,他想到了平时经常看到同事调试代码时总是用断点.打印日志等方法,不知道LoadRunner的VuGen能不能实现,于是继续研究.2.6.1 message函数详解在前面已经使用过了message函数,但并没有深入了解,下面深入学习. lr_output_message函数该函数一般用于打印输出到控制台和output.txt文件中. 函数用法: lr_output_message( "%s登录成功", lr_eval_strin

《LoadRunner性能测试巧匠训练营》——1.6 本章小结

1.6 本章小结 通过本阶段的学习,小白深入理解了性能测试的作用.重要性以及意义,同时掌握了重要的术语.概念.指标,并把这些知识应用到实际生活场景中,经过深刻学习产出了两个经典模型.虽然第1章为基础知识,但对于学习整体的性能测试知识尤为重要,如果不能很好地理解和掌握这些基础,后续的学习将会变得凌乱不堪,这也是很多读者最容易犯的错误,切忌不要浮躁!接下来小白将学习现在十分流行的商业性能测试工具LoadRunner,他又会遇到什么问题呢?让我们继续往下看吧.

《LoadRunner性能测试巧匠训练营》——2.3 深入理解协议选择

2.3 深入理解协议选择 上述操作完成后,小白立刻打开VuGen,想看看传说中的LoadRunner到底如何.就在他刚刚兴奋起来时却看到如图2-7所示的界面,原来还要熟悉协议才行,因为协议对于LoadRunner来说是很重要的. 那么接下来,就按部就班地来学习协议的相关知识吧.首先需要明白协议是什么?可以把协议理解为数据包在交换.通信时要按照统一的约定,这样双方才能识别,否则一个用A格式,一个用B格式,那不就对不上号了吗?当然也就无法识别了.所以,协议的选择至关重要.其次,LoadRunner与

《LoadRunner性能测试巧匠训练营》——第3章 LoadRunner Controller实战 3.1 Controller介绍

第3章 LoadRunner Controller实战 结束了LoadRunner学习的第一个里程碑,小白马不停蹄地开始了第二个里程碑的学习,那就是LoadRunner的Controller组件. 3.1 Controller介绍 Controller可谓是LoadRunner的"心脏",承担着多种工作任务.最常见的就是场景的设计.压力机的部署.脚本调度.监控以及数据收集.Controller的工作原理是,通过场景设计来模拟用户的真实操作并调用VuGen中的脚本,再通过设置的压力机产生