zoukankan      html  css  js  c++  java
  • LoadRunner脚本增强技巧之参数化(一)

    参数化的方式有两种,一种通过File引入参数值,一种通过数据库引入参数值。本篇介绍File方式引入参数值。

    一、File方式参数化过程

    1、在脚本中找到需要做参数化的字符串,选中,右键点击,选择Replace with a Parameter,这样就会打开参数列表页面。

            

    也可以通过点击工具栏上的参数列表图标,直接打开参数化列表。

        

        

    注意这两种方式的区别,前者会将脚本中选中的字符串作为初始值(可删除可修改),后者没有默认初始值,通过点击New按钮新建参数。

        

    2、点击Edit with Notepad,LoadRunner会打开一个文本文档,所有用于参数化的值都写到这个文本文档里。注意一个参数值占一行。

      输入完成保存文本文档,所有的参数值都会被加载到参数列表中

        

    3、参数导入之后,下面参数的迭代替换和更新方式才是重点。根据实际情况设置更新迭代方式,我常用的组合是Sequential/Random + Each iteration,这个具体情况具体分析了。

    二、数据分配与更新方式详解

    1、select next row指明了以何种方式从数据池中获取数据

    • Sequential 表示按照顺序取值
    • Random表示从数据池中随机取值
    • Unique.表示每次取唯一值

    2、Update value on 指明了参数值在何时发生变化。

    • Each iteration表示在每次跌代时更新参数的值。如果在一个迭代过程中某参数出现了多次,参数取相同的值
    • Each occurrence表示在参数每次出现时更新参数的值。如果在一个迭代过程中某参数出现了多次,每次取不同的值。
    • Once表示VU在执行时,只在第一次跌代时为参数取一次值,以后每次跌代使用相同的值。

    3、根据select next row和Update value on的不同设置组合,Vuser运行过程中为参数取不同的值,下面举例说明:

        假设在某个类型为File的参数Username设置如下表1所示的数据池,该参数所在的脚本中包含该参数的部分要求迭代2次,执行脚本的Vuser数量为2个,脚本需要迭代的部分有两个地方使用了参数Username,则在不同设置时的参数取值如表2。

    表1 参数Username的数据池数据

    Username

    Alice

    Bob

    Chris

    David

    Frank

    Green

    Jack

    Smith

     

    表2 不同设置时参数取值示例

    Select next row 取值

    Update value on取值

    参数取值示例

    Sequential

    Each iteration

    每个VU中的参数都按照同样的方式取值,第一次迭代中参数Username两次出现都取Alice,第二次迭代中参数Username两次出现都取Bob

    Each occurrence

    每个VU中的参数都按照同样的方式取值,第一次迭代中参数首次出现取Alice,第二次出现取Bob;第二次迭代中参数首次出现取C hris,第二次出现取David

    Once

    每个VU中的参数都按照同样的方式取值,参数在每次迭代的每次出现均取同样的值Alice

    Random

    Each iteration

    每个VU中的参数都同样的方式取值,第一次迭代中参数两次出现都取相同的值,其值从数据池中随机选择一个;第二次迭代中参数两次出现都取相同的值,其值从数据池中随机选择一个

    Each occurrence

    每个VU中的参数都同样的方式取值,第一次迭代中参数首次出现取数据池中的一个随机值,第二次再随机取一个值,第二次迭代中参数首次出现随机从数据池中取一个值;第二次出现再随机取一个值

    Once

    每个VU中的参数都按照同样的方式取值,参数在每次迭代的每次出现均取同样的值,该值从数据池中随机选取

    Unique

    Each iteration

    两个VU按照不同的方式取值:对于第一个VU,第一次迭代中的参数两次出现均取相同的值Alice,第二次迭代中的参数两次均取Bob;对第二个VU,第一次迭代中的参数两次出现均取相同值Chris,第二次迭代中的参数两次均取David

    Each occurrence

    两个VU按照不同的方式取值:对于第一个VU,第一次迭代中的参数第一次出现时取值Alice,第二次出现时取值Bob,第二次迭代中的参数首次出现时取Chris,第二次出现时取David;对于第二个VU,第一次迭代中的参数第一次出现时取值Frank,第二次出现时取值Green,第二次迭代中的参数首次出现时取Jack,第二次时取值Smith.

    Once

    两个VU按照不同的方式取值:对于第一个VU,两次迭代中的参数每次出现均取相同的值Alice;对于第二个VU,两次迭代中的参数每次出现取相同的值Bob

     

    Unique:主要是强调取值的唯一性,如果到最后没有该值了,LR提供了其他解决方案. 

    When out of values选项只有在select next row设置为Unqiue时才有效,当数据池中的数据量不能支持迭代和Unique要求的数据量时,可以通过设置该选项的值指示LR的处理方法:

    Abort VUser,则遇到这种情况时,VU停止运行;

    Continue in a cyclic manner,取值超过时,启用循环扫描,扫描那些还未被使用的数据进行使用;

    Continue with last value,所有不足的取值都用最后一个取值来代替。

     

     

  • 相关阅读:
    project和task
    Gradle的安装
    Spring 集成 RMI
    RMI远程调用
    安装、启动与基本配置
    删除
    文件的分隔与合并
    my27_OGG MySQL To MySQL错误汇总
    1.5 GO json转Map
    1.4 Go语言-switch语句(转)
  • 原文地址:https://www.cnblogs.com/mgzc-1508873480/p/7092225.html
Copyright © 2011-2022 走看看