VuGen总结

1、脚本录制流程:web

  一、新建脚本选择网络协议(自带协议探测工具、询问开发、以往经验判断项目的协议)数组

  二、录制前的准备(选择被测系统的类型(浏览器与非浏览器)、录制时采用的浏览器、被测服务器地址)浏览器

  三、设置录制选项服务器

  四、插入命令网络

  五、开始录制(、【中止、暂停、插入新的action、开始事物、结束事物、插入集合点、插入注释】)并发

  六、中止录制dom

  七、脚本查看模式(两种脚本查看方式:Script View:能够查看所有录制的脚本代码;Tree View:能够查看每一个url获取来的页面。函数

           注意:工具

              每一个脚本都是一个函数调用,函数中的参数记录了客户端发送给服务端的(请求request)数据post

              web_url:直接请求下载一个网页

              web_link:经过点击文本连接请求打开一个网页

              web_image:经过单击图片连接请求打开一个网页

               web_submit_from:表明在请求打开一个网页时须要将必定的数据上传到服务器)

  八、脚本的组成(init、action、end)[VuGen的脚本分为三部分:Vuser_init,Action,Vuser_end。其中Vuser_init和Vuser_end都只能存在一个,而Action可分红无数多个部分,能够经过点旁边的New按钮来建立Action。在迭代执行测试脚本时,Vuser_init和Vuser_end中的内容只会执行一次,迭代的是Action部分。]

2、脚本回放设置(run-time-settings)

  一、run logic:用户建模:init、action、end;注意迭代的做用点为action,不会做用在init、end

  二、Pacing(步长): 上一次迭代一结束就开始新的迭代

            在上一次迭代结束以后:延迟固定(fixed)的时间XX开始新的迭代;延迟随机(random)的时间段开始新的迭代

            延迟:固定的时间XX开始新的迭代;随机的时间段开始新的迭代。注意:延迟的时间包括上一迭代运行的时间

  三、Log:启用日志:只有当错误出现的时候才记录日志

      关闭日志

  四、Think time:忽略思考时间

         回放思考时间:按照录制思考时间、让思考时间乘以几倍、使用录制思考时间的随机百分比、统计规则:限制思考时间不超过XX秒。

         做用:更加真实的去模拟用户操做之间的延迟

  五、Proferences:checks:启用/关闭图片和文本检查

3、脚本加强设置

一、函数  

  web_url:做用是模拟浏览器发出get请求

  web_submit_data():做用是模拟浏览器发出get/post请求

  web_custom_request():做用是模拟浏览器发出HTTP支持的任何方式的请求

二、参数化

  功能:让脚本使用批量的变化的数据测试,实现模拟不一样数据/用户的行为

  函数格式:返回值:返回值类型 函数名称(参数类型 参数,参数类型 参数)举例:int add(int a,int b)

    

 

  设计思路:

    步骤:一、首先肯定脚本须要参数化的对象/数据

          二、选中目标数据,右击 replace-with-a-parameter

       三、填写参数名称和名称,点击肯定

          四、按下crtl+L打开参数设置界面,增长或修改数据,或者按下菜单中的P图标,可点击edit with-notepad进行编辑,设置参数取值策略

       注意:参数化文件中测试数据最后一行应保留一个空行

    参数化设置:

          参数类型:file、date Time、RandomNumber、Unique Number

          Vugen中的参数:A(sequential、random、unique)取值顺序;

                    B(each iteration、each occurrence、once)何是更新;

            a1b1:顺序取值,每次迭代更新

            a1b2:顺序取值,每次出现更新

            a1b3:顺序取值,只取一次,再也不更新

            a2b1:每次迭代随机一次

            a2b2:每次出现随机一次

            a2b3:就随机一次,再也不更新

            a3b1:惟一取值,每次迭代更新

            a3b2:惟一取值,每次出现更新

            a3b3:惟一取值,只取一次,再也不更新。

三、学习函数

lr_eval_string("{参数名}");取出参数中的值

用法:lr_eval_string("{参数}");

lr_save_string("string","name");保存string到参数name中;举例:lr_save_string("51testing","name");

lr_output_message("输出的内容")

四、参数和变量的区别

定义:lr_save_string("XXX","name");位置随意

变量:int i;位置必须放在脚本的首行

做用域:参数:全局脚本使用,任意action都可

    变量:只限当前定义action的脚本中使用。

4、关联--事物--检查点--思考时间--集合点

关联:手动关联:高级关联获取多个数据,lr_paramarr_idx()------>经过索引找到指定位置的元素

                      lr_paramarr_len()------>获取参数数组的长度

                      lr_paramarr_random()-----获取参数数据随机位置上的元素

    自动关联:录制中关联-----须要提早设置好关联规则

            录制后关联-----一、录制完后关联,必须运行一遍,以收集响应数据

                二、扫描脚本,扫描过程当中与上一步的响应数据作对比,若是发现存在不一样的响应数据,关联便可。

事物:添加数据(开始事物,结束事物)

      判断事物结果:手动判断:经过检查点判断

   函数:lr_start_transaction(""事物名)

      lr_end_transaction("事物名",事物状态)

检查点:做用:检查请求触发的业务有没有真正成功

    函数:

      文件检查:web_find与web_reg_find区别:这两个函数类型不一样,web_find是普通函数,web_reg_find是注册型函数;

      web_find使用时必须开启内容检查选项,而web_reg_find则没有此限制;

      web_find只能用在基于HTML模式录制的脚本中,而web_reg_find没有此限制;

      web_find时在返回的页面中进行内容查找,web_reg_find是在响应中进行查找;

      web_find在执行效率上不如web_reg_find;

    web_reg_find()【("Text=Welcome,<b>jojo<b>",要查找的字符串

            "Search=Boby",查找范围

            "SaveCount=num",查找到的次数保存的参数名

           LAST);】  

      图片检查:web_image_check()

思考时间:做用:更加真实模拟用户发出请求之间的延迟,也就是用户暂时停发请求的时间

     函数:lr_think_time(秒数)

     注意:实际状况下,获取真实场景的系统的性能指标通常加入思考时间(1-2秒)

        若是作压力测试获取系统的峰值指标时,通常忽略思考时间

        通常状况下,思考时间函数不要放入事物内,以避免后期影响计算事物响应时间

集合点:做用:设集合点是为了更好模拟并发操做,运行过程当中多个用户能够在集合点等待到必定条件后再一块儿发后续的请求。

    不适合单独业务,适用于业务场景

    设置策略:当%X所有用户到达集合点时,开始释放

         当%X正在运行的用户到达集合点时,开始释放

         当X个的用户到达集合点时,开始释放

    函数:lr_rendezvous("集合点");

相关文章
相关标签/搜索