LR执行过程--1.脚本录制

reg字样:注册性函数,要写在相应请求之前

执行测试计划

1.Vugen

1)梳理业务需求:流程-用例中体现

2)合适的协议:B/S常用web[Http/Html]协议

3)常用设置

    <1> IE浏览器:工具---- Internet选项

            常规-->设置    每次访问此页时检查

            程序 --> 重置web设置

            高级 --> 去除 启用第三方浏览器扩展(需要重启动)

    <2>关闭一些冲突的服务

    <3> 使用脚本视图,设置界面字体、回放后自动弹出测试结果

     <4>录制选项

        录制方式--默认采用基于HTML方式--脚本简约

            必要时采用基于URL方式,如采用HTTPS协议(优点:录制脚本比较全面、完整)

    设置自动页面标题检查点,目的辅助检查

        设置录制使用的字符集:UTF-8或其他

    <5> 采用架构:B/S 或C/S

    <6> 采用协议:web[HTTP/HTML]

    <7>指定浏览器

    <8>URl地址

    <9>录制位置:

vuser_init(登录一次) action(核心事务) 录vuser_end(退出一次)


开始录制前选择


options设置


自动页面标题设置

设置自动页面检查点,辅助检查,建议开发方在设计网页时,不同页面的标题不一样,便于后续自动检查所在页面是否正确 (测试驱动:以便于测试为出发进行开发设计)

操作完成后录制开始,在与后台交互前设置开始事务,事务设置完成后设置检查点,结束事务,退出即可,编译回放验证过程是否正确。

录制完后一些设置

录制完脚本一些设置
字体设置
回放的设置

录制完脚本后,改一下思考时间lr_think_time(xx),节省回放和测试的时间,提高效率,并将其移动至事务之前。以保证事务时间的纯粹性,避免统计到事务时间内,又能够模拟请求之间的间隔,让业务更真实。

<10> 设置Run-time Settings 模拟1VU回放

            模拟运行轨、频率,发现脚本本身的问题

<11> 增强脚本 

        A. 事务:平均事务响应时间、TPS、并发的起点

           lr_start_transaction("事务名"); 

            请求,步骤的代码...

            lr_end_transaction("事务名",LR_AUTO)


    B. 检查点:自动为响应内容进行检查  文本为主

        reg函数  注册性函数   相应请求之前添加,因请求之后的响应结果文本需要检查

            web_reg_find("Text=页面HTML源代码",LAST);   #常用
                 ~参数:页面HTML源代码               
                ~位置:相应请求之前 

            web_image_check();图片检查点  

            ~参数 为图片路径名,缺点返回结果是否包含该图片

               位置:相应请求之后 ,符合常理 ,请求发送之后检查

            web_check(); 普通的文本检查点,效率低

    C.集合点:并发测试时使用,其他时候不用,Insert-rendezvous

     lr_rendezvous(“集合点名/事务名称”);       

    位置:Action脚本的事务开始之前 针对事务并发

    D.参数化:业务数据多变、更真实,满足业务需求。当数据不能重复使用时,必须要参数化。

参数化关键:类型+数据+策略

参数化关键点

        操作:定位到某个参数化值,find所有,右击其中一个,选择replace with a Parameter,

参数化

使用F3找到同样的值,右击-Use Existing Parameter-选择parameter name中设置的名字即可


  E.关联:获取到响应的数据,供后续请求携带参数使用,让脚本适应服务器端动态数据的变化。

            动态数据:服务器端生成的,有可能改变的数据;该数据在后续请求中需要携带,是需要关联的重要依据。

web_reg_save_param("参数名",

         "LB=左边界",

          "RB=右边界",

          "ORD=1",#默认匹配到满足左右边界的第一条数据,all匹配所有结果

                           #ORD=all 时 {参数化名}为数组,使用下标编号获取单元素

           LAST);


关联或参数化后此日志可查看

脚本的参数化:数据由自己设计并准备

脚本关联技术:

如何找到动态数据?

方法1:通过录制两次脚本,观察脚本中不同的文本,借助于wdiff文本比较器,结合对业务数据的理解,排除其它不同数据,包括坐标点,思考时间秒数、检查点文本、段落差异...

方法2:凭借对业务流程、业务数据的理解,进行推理分析。

关联的操作步骤:

(1)发现问题:录制成功,回放失败,怀疑动态数据

(2)根据对比或分析,确定动态数据

(3)找到相应请求--导致第一次产生动态数据响应的请求

        根据静态数据到Generation Log【录制时日志】生成日志中第一行开始搜索,搜索到第一次出现的位置(一般都是响应包response),根据响应id号,找到与之对应的请求(先向下,不远处找到id号相同的请求--request、Event;如果没有再向上,找到最靠近的请求,往往id号不同),根据请求的快照名,找到脚本中对应的请求。

(4)在相应请求之前写关联函数  web_reg_save_param();

执行后在响应包中根据左右边界获取到动态数据文本,赋值给参数,供后续使用

(5) 将后续请求中的静态数据都替换成{参数名},代表了动态数据的值

            注:替换时复制粘贴即可,不可使用参数化的方式。               

▲▲注:录制后脚本,检查点函数位置 可能会出现误差,后续通过Tree视图进行检查纠正,检查点函数 reg注册性函数,相应请求2之前,{number_3}关联参数名只有在相应请求1发送之后才能取值

   F.流程控制:分支、循环,一般不刻意改变业务流程

if(web_find("xxx",LAST) == -1){

    lr_err_message("找不到!");

}else{

    lr_output_message("找到了!")

}

    E.函数调用 :复用已有的功能

    F.策略---UEA组合,应用场合:多用户使用不重复数据时使用,比如:注册时用户名、手机号、编号等 业务方面要求唯一 ,性能自动化考虑多VU,分别取值,通过分志方式确保数据的有效隔离;块大小要保证数据的充足使用,避免不足产生的VU结束运行。

UEA版本
UEA说明
Abort Vuser配置
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,616评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,020评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,078评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,040评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,154评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,265评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,298评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,072评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,491评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,795评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,970评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,654评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,272评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,985评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,815评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,852评论 2 351

推荐阅读更多精彩内容