loadrunner11的移动端性能测试之脚本优化

测试步骤之脚本优化(Script)

看到这里,是不是疑惑录制好的脚本还需要优化吗,答案是肯定的。

优化概要

脚本优化包括插入注释(Comment),插入事务(Transaction),插入检查点(Check),插入集合点(Rendezvous),脚本参数化(Parameter),关联技术(Correlation)等等。

打开VuGen,相关设置如下

进入到脚本页(顶部的Script按钮),就能看到录制到action部分的脚本了,如下图所示

上面是我录制优化的登陆模块脚本,学过编程语言就大概能知道,LR脚本里都是些函数组成的,lr_output_message(日志中打印输出,类似C中printf函数),web_custom_request(请求函数,就是模拟用户点击按钮操作,点击一次就提交一次这种请求),web_reg_save_param_ex(注册函数,通俗点就是在服务器返回数据中查找并保存特定的数据)等。

不管怎样,录制成功后,首先得回放脚本一下,看看有没有问题,没问题就根据需求,真实环境进行脚本优化。

插入注释(Comment)

插入注释为了使脚本方便易懂,很简单,单行在前面加上//即可,多行注释用/* ....(此处是脚本).....*/。

插入事务(Transaction)

插入事务也很快,就是判断一段操作的时间,记住事务插入在集合点之后并且是成对出现的,如lr_start_transaction("登录")和lr_end_transaction("登录",LR_AUTO),事物名要相同,一般情况下结束事物的LR_AUTO为自动判断事物是否成功,没遇到报错的页面基本都是成功的,所以需要通过检查点加以判断。

插入集合点(Rendezvous)

插入集合点(lr_rendezvous),一般做并发测试是需要集合点的,如做并发登陆,插入后可在场景设计中设置,当设置的虚拟用户数全部运行至集合点后,再同时运行,脚本如下图:

插入检查点(Check)

上面说过事物需要检查点来加以判断,拿登录来说,一般登录成功就会在首页显示“欢迎你,XX用户”,是不是找到"欢迎你"三个字就说明登录成功了呢,于是检查点就这么来了。自动添加我就不说了,手动插入如下:

web_reg_find(

"Text=\"respCode\": \"0\"",

"SaveCount=Ok_Count",

LAST);

web_custom_request(

…………            //内容省略

LAST);

lr_output_message(lr_eval_string ("Ok_count查找respCode值并计数"));

if(atoi(lr_eval_string("{Ok_Count}"))>0)

lr_output_message("-----------------------------成功登录!-----------------------------",LR_PASS);

else

lr_output_message("-----------------------------登录失败!------------------------------",LR_FAIL);

检查点常用函数:web_reg_find,从服务器返回的数据查找,Text是查找的内容,SaveCount是计数变量名,此处判断SaveCount的值是否大于0,大于0就表示找到了返回值,执行LR_PASS,事物成功,即表示登录成功。

注:lr_eval_string("{Ok_Count}")获取返回参数Ok_Count的值,类型为char,atoi(lr_eval_string("{Ok_Count}"))把字符型转换成整型。

手动关联(Correlation)

在回放脚本总是不成功,查找原因,是登录验证码的问题,这个是服务器返回过来的,错了就不能登录了。不能自己输,开发又不能屏蔽,该怎么处理呢?对于服务器返回的动态数据,进行查找并保存在一个参数中,就叫关联技术。同样的自动关联就不说了,手动关联如下:

web_reg_save_param_ex(

"ParamName=CSRule_1",

"LB=\"code\":",

"RB=}}}",

"Ordinal=1",

"SaveOffset=1",

"SaveLen=6",

SEARCH_FILTERS,

LAST);

查看响应日志如下:"mobileRespHeader": {"respCode": "2000","respDesc": "鎴愬姛"},"mobileRespBody": {"data": {"code":"MKLJ39"}}}

查找的结果为CSRule_1= MKLJ39,后面就用CSRule_1代替验证码了。

常用关联函数:web_reg_save_param_ex,CSRule_1就是自定义的参数名,LB,RB为左边界和右边界,用于定位查找的那个数据,Ordinal指第几次内容出现的位置,SaveOffset指从找到的字符串中第几个开始截取,SaveLen指取多少长度的值,其他就算固定的格式了,注意!!!冒号 ” 前需要加反斜杠“\”

脚本参数化(Parameter)

此处是对登录账号进行的参数化,直接在账号处点右键—Replace with a parameter 输入名称即可,类型可以参照资料,一般是File。

参数化的数据可以手动输入,也可以导入dat文件,还可以从数据库导入。

对账号参数化后,点击右键—Parameter Properties… 进入参数化设置界面,具体参数参考资料,要注意图中标注的取值顺序和策略设置,组合起来共有9种方式。

只要记住Select next row行是针对场景运行的虚拟用户设置的,VuGen回放不起作用,选择Sequential,每个用户都从第一行参数开始顺序去;Update Value on行是针对脚本的参数设置的,选择Each iteration,单个用户的参数在同一次迭代中取值是相同的,不管你有相同的几个参数。

以上就是脚本优化的大概流程,写的不算仔细,可供参考,最后保存前不要忘记再回放一下脚本哦!

时间: 2024-11-10 07:14:44

loadrunner11的移动端性能测试之脚本优化的相关文章

loadrunner11的移动端性能测试之脚本录制

以前使用LR11录制过一个app的登录操作,这里记录一下 测试准备 硬件要求 1,  负载测试机一台(内存8G以上,cpu 1.5GHZ以上,存储空间20G以上)或两台以上(控制机和多个负载机). 2,  智能安卓手机或苹果手机一个(需要wifi连接热点). 3,  具有无线网卡的笔记本(录制脚本使用). 软件要求 系统xp以上或其他,成功安装loadrunner11(pach4补丁,不建议汉化),wifi热点创建软件(如160wifi) 脚本录制前 1.创建协议 选择协议:首先打开VuGen,

loadrunner11的移动端性能测试之结果分析

测试步骤之结果分析器(Analysis) 进入Analysis 当场景停止运行后,可从Controller中进入.点击[Results]-[Analysis Results]见下图: 若想打开一个已保存的结果,可依次点击:程序-[HP LoadRunner] -[Applications]-[Analysis]. 成功进入Analysis,如下图所示,左上是图表目录,左下就是图表的相关属性,右边就是图表详情了. 场景摘要 场景执行情况 该部分给出了本次测试场景的名称.结果存放路径及场景的持续时间

loadrunner11的移动端性能测试之场景设计

测试步骤之场景设计(Controller) 进入手工场景 准备好脚本后就可以进行场景设计和执行场景了,从VuGen中进入,见下图: 进入后第一个为目标场景,选择第二个更灵活的手工场景,我的目标人数200,第三个为结果保存地址,最好放到空间比较大的盘中,其他默认即可. 确认后进入场景设计页,也可以在[HP LoadRunner]-[Applications]-[Controller]单独进入.选择第一个手工场景,选择左边你需要运行的脚本,点击[Add]添加至场景脚本中,点击确定就ok了,后面再设置

web移动端性能调优及16ms优化

本文只是一个索引,收集了网络上大部分关于调试及优化方面的文章,从中挑选了一些比较好的文章分享给大家. 移动端性能不及桌面浏览器性能的10分之1,特别是在android设备良莠不齐的情况下,性能显得尤为重要.感觉做移动端页面,重回了解放前电脑还是386的年代,呵呵. 国内,16ms优化,60fps指标等相关的文章非常少,大部分还是翻译国外的一些优秀文章,非常感谢这些翻译者对web前端的贡献,让我等英文盲能及时了解前沿技术哈. 在进行毫秒级的优化时,了解浏览器的工作原理非常重要,这是晋级优秀程序员的

性能测试之-wrk(转)

性能测试之-wrk(转) 转载地址:http://zjumty.iteye.com/blog/2221040 http://www.cnblogs.com/rainy-shurun/p/5867946.html 测试先行是软件系统质量保证的有效手段. 在单元测试方面, 我们有非常成熟的 xUnit 方案. 在集成测试方面, 我们 selenium 等自动化方案. 在性能测试方面也有很多成熟的工具, 比如 LoadRunner, Jmeter 等. 但是很多工具都是给专门的性能测试人员使用的, 功

【总结】网站性能分析-前台优化

背景:对于一个大型网站来说,前台的性能直接影响用户的操作体验,直接影响的就是网站的用户活跃度和业务质量.那么如何评测一个网页的性能至关重要.虽然不能得知所有用户访问一个页面的加载流畅情况,但是至少要满足80%的用户操作可用性.从一个页面让用户访问开放的渠道比较多,签入到app移动端,wap端,web端等端应用场景,一般注重移动端性能场景较多,毕竟目前用户手机的内存和性能都比pc小的太多.所以解决移动端访问页面的性能是重中之重.我们从快速从6个维度来衡量一个页面的标准来看,能够解决大部分的网页性能

磁盘 IO 和网络 IO 该如何评估、监控、性能定位和优化

生产中经常遇到一些IO延时长导致的系统吞吐量下降.响应时间慢等问题,例如交换机故障.网线老化导致的丢包重传:存储阵列条带宽度不足.缓存不足.QoS限制.RAID级别设置不当等引起的IO延时. 一.评估 IO 能力的前提 评估一个系统IO能力的前提是需要搞清楚这个系统的IO模型是怎么样的.那么IO模型是什么,为什么要提炼IO模型呢? (一).IO模型 在实际的业务处理过程中,一般来说IO比较混杂,比如说读写比例.IO尺寸等等,都是有波动的.所以我们提炼IO模型的时候,一般是针对某一个特定的场景来建

【原创】性能测试之——网络环境分析

性能测试之——网络环境分析 首先,我们需要了解宽带上网时的网络带宽环境概念: 这里指的是带宽网速的单位计算方式方法及关系. 在计算机网络.IDC机房中,其宽带速率的单位用bps(或b/s)表示:换算关系为:1Byte=8bit 1B=8b             ---------- 1B/s=8b/s(或1Bps=8bps) 1KB=1024B     ---------- 1KB/s=1024B/s 1MB=1024KB  ---------- 1MB/s=1024KB/s 在实际上网应用中

SqlServer性能检测和优化工具使用详细

原文:SqlServer性能检测和优化工具使用详细 工具概要 如果你的数据库应用系统中,存在有大量表,视图,索引,触发器,函数,存储过程,sql语句等等,又性能低下,而苦逼的你又要对其优化,那么你该怎么办?哥教你,首先你要知道问题出在哪里?如果想知道问题出在哪里,并且找到他,咱们可以借助本文中要讲述的性能检测工具--sql server profiler(处在sql安装文件--性能工具--sql server profiler) 如果知道啦问题出现在哪里,如果你又是绝世高手,当然可以直中要害,写