- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
性能测试场景分析
录制脚本
录制参数设置
脚本录制
回放和调试脚本
用这按钮进行编译,编译通过后,点击运行按钮即可运行脚本。只有在脚本运行正确后,才能进入Controller中来创建测试场景。
脚本录制的原则
充分考虑脚本的执行效率
录制重要的用户业务
选择你所需要的进行录制
修改脚本
参数化功能
步骤1:
步骤2:
步骤3:
参数类型有多种:
Date/Time:需要输入日期的地方,可以用Date/Time类型来替代。
Group Name:使用虚拟用户组的名称来替代参数。
Load Generator Name:使用虚拟用户所在的LoadGenerator机器名来替代参数。
Lteration Number:测试脚本当前循环的次数来生成参数。
Random Number:随机数。
Unique Number:唯一的数(一般使用递增的数。)
Vuser ID:使用虚拟用户的ID来替代参数,ID是由Controller来控制的。
File:在属性中可以指定文件或数据库中提取数据。
User Definde Function:从用户开发的dll文件中提取数据。
这里的重点是file类型:
在我们工作中最常用的是“Unique(唯一的)”和“Each iteration(下一条数据)”的组合。比如我们设计一个场景,要求10个虚拟用户都需要进行10次迭代。那编号为1的用户取前10行数据,编号为2的用户取11~20行数据。以此类推,那完成整个场景就需要数据表里至少要有100条数据,否则在Controller运行过程中会返回一个错误。
深入集合点(就是并发点)
使用集合点可以控制各个Vuser,以便在同一时刻执行任务。原理是,当某个Vuser到达该集合点时,Controller会将其保留,直到参与该集合点的Vuser都到达,满足了集合条件时,Controller将释放Vuser,这样就产生了密集的同一类用户操作或请求。Vuser从集合释放后,将执行脚本中的下一个任务。
需要注意的是:
集合点一般会创建在用户事务的开始标志前。
集合点只能加在action部分,而不是init或end部分。
比如我们想在登录时创建一个集合点,我们可以这样安排:
巧用检查点
Loadrunner的检查点有三种:Web_find、Web_reg_find和Web_image_check。至于为什么要用检查点可以用个小例子做个测试,例如一个登陆脚本登陆的账号为123456,密码为123456,可以正确登陆,当把账号或密码改掉再执行,发现脚本并没有报错,也顺利执行下来了。原因是什么呢 ?Loadrunner以用户角色向服务器发送一个登陆请求,却不会判断请求的返回消息是什么,只要有返回,即使这是个拒绝登陆的返回,Loadrunner也认为登陆成功了。所以在登录或者其他有重要页面跳转的地方,很有必要做检查点。Web_find和Web_image_check两个函数如果在脚本里面增加,需要在设置中打开“图像和文本检查”功能,该功能默认是不打开的,如果手工在脚本里面添加检查点,系统会有提示:Action.c(43): Verification checks not enabled. web_find is skipped. See the Run-time settings/Preferences/Checks [MsgId: MMSG-27197]
Web_reg_find是注册类型函数,它本身并不执行,不能通过它的返回值来作为事务的判断条件(因为web_reg_find()的返回值0和1表示web_reg_find()是否注册成功,并不代表查找的内容是否存在,也就是说无论查找的文本内容是否存在,都返回0。它是从返回的缓冲区扫描而不是在接收的页面中查找。这是比web_find更高效的一个函数。所谓的关联(correlation)就是把脚本中某些写死的(hard-coded)资料,转变成是摘取自服务器所送的、动态的、每次都不一样的资料。01 checkproperties”。
另外,我们可以在中配置脚本运行时的设置。
运行逻辑:我们可以设置ACTION的迭代次数。
思考时间:我们一般忽略思考时间,以得到更大的压力。
其 他:我们可以选择错误的处理方式,还可以选择线程方式运行脚本以得到更大的压力,最后的选项一般默认就行了。
速度模拟:默认使用最大带宽,我们也可以模拟一些特殊的接入方式。
首 选 项:需要特别注意的是,如果脚本中使用了文本检查点或图片检查点的时候,此项一定要勾选中,默认是没有勾选的。(如果是使用web_reg_find,则不要求勾选。)
其他的项我们一般都使用默认值即可。
创建测试场景
场景类型
我们在VuGen中完成虚拟用户脚本的调试后,就进
文档评论(0)