zoukankan      html  css  js  c++  java
  • loadrunner参数取值方法总结

    在参数设置位置有两个地方:
    Select next row –下一行的取值方式(针对用户)
    Sequential 顺序的,即所有用户都是按照同一种方式取值(都是按照Update value on方式取值,一个用户怎么去,多个用户也是怎么取)
    Random    随机的,即所有用户的取值都是随机的
    Unique      独一无二的,即所有用户取值都不会相同
    Update value on – 值更新方式(针对迭代方式)
    Each Iteration 每次迭代时更新(一次迭代中参数出现多次也不变,但是取的值按照select方式取)
    Each Occurrence 每次遇到参数就更新(一次迭代参数出现多次更新多次,但是取的值按照select方式取)
    Once 参数一旦取到就不变

    loadrunner并发迭代时参数取值问题   .
    
    
    loadrunnerrandomeachc脚本
    
    
    假设存在: 
    数据:A、B、C 
    虚拟用户:Vuser1、Vuser2、Vuser3 
    脚本中参数出现三次,脚本迭代三次 
    
    怎样取下一行数据? 
    Sequential:顺序,所有虚拟用户按照顺序读取数据表 
    Random:随机,所有虚拟用户随机形式读取数据表 
    Unique:唯一,所有虚拟用户每次各取一值(不重复) 
    
    什么时候访问数据表完成数据更新? 
    Each iteration:每次迭代以后 
    Each occurrence:每次出现参数 
    Once:每出现一个虚拟用户 
    
    
    实例: 
    顺序 
    Sequential + Each iteration 
    第一次迭代 无论参数任何时候出现 Vuser1、Vuser2、Vuser3 取A 
    第二次迭代 无论参数任何时候出现 Vuser1、Vuser2、Vuser3 取B 
    第三次迭代 无论参数任何时候出现Vuser1、Vuser2、Vuser3 取C 
    
    Sequential + Each occurrence 
    第N次迭代 参数第一次出现 Vuser1、Vuser2、Vuser3 取A 
    第N次迭代 参数第二次出现 Vuser1、Vuser2、Vuser3 取B 
    第N次迭代 参数第三次出现 Vuser1、Vuser2、Vuser3 取C 
    
    Sequential + Once 
    第N次迭代 无论参数任何时候出现 Vuser1取A Vuser2取B Vuser3取C 
    
    随机 
    Random + Each iteration 
    第N次迭代 无论遇到该参数多少次 Vuser1都只取A,或者B,又或者C,本次迭代不再更新 
    第N次迭代 无论遇到该参数多少次 Vuser2都只取A,或者B,又或者C,本次迭代不再更新 
    第N次迭代 无论遇到该参数多少次 Vuser3都只取A,或者B,又或者C,本次迭代不再更新 
    在N+1次迭代,每个Vuser重新随机抽取数据
    
    
    Random + Each occurrence 
    第N次迭代 第一次遇到该参数 Vuser1、Vuser2、Vuser3在A、B、C中随机抽取一个 
    第N次迭代 第二次遇到该参数 Vuser1、Vuser2、Vuser3重新在A、B、C中随机抽取一个 
    第N次迭代 第三次遇到该参数 Vuser1、Vuser2、Vuser3重新在A、B、C中随机抽取一个 
    在N+1次迭代,每个Vuser继续保持每遇到一次参数就重新抽取一次数据 
    
    Random + Once 
    第N次迭代 无论遇到该参数多少次 Vuser1都只取A,或者B,又或者C 
    第N次迭代 无论遇到该参数多少次 Vuser2都只取A,或者B,又或者C 
    第N次迭代 无论遇到该参数多少次 Vuser3都只取A,或者B,又或者C 
    在N+1次迭代,每个Vuser不会重新抽取数据 
    
    唯一 
    注意:使用该Unique类型必须注意数据表有足够多的数。 
    比如Controller 中设定20 个虚拟用户进行5 次循环,那么编号为1 的虚拟用户取前5个数,编号为2 的虚拟用户取6-10 的数,依次类推,这样数据表中至少要有100个数据,否则Controller 运行过程中会返回一个错误。 
    因此以下例子在数据表中加入数据D、E、F、G、H、I。 
    
    Unique + Each iteration 
    第一次迭代 无论参数出现多少次 Vuser1取A Vuser2取D Vuser3取G 
    第二次迭代 无论参数出现多少次 Vuser1取B Vuser2取E Vuser3取H 
    第三次迭代 无论参数出现多少次 Vuser1取C Vuser2取F Vuser3取I
    
    Unique + Each occurrence 
    第一次迭代 第一次出现该参数 Vuser1取A Vuser2取D Vuser3取G 
    第一次迭代 第二次出现该参数 Vuser1取B Vuser2取E Vuser3取H 
    第一次迭代 第三次出现该参数 Vuser1取C Vuser2取F Vuser3取I
    
    Unique + Once 
    无论进行多少次迭代 无论参数任何时候出现 Vuser1取A Vuser2取B Vuser3取C 
    数据D、E、F、G、H、I不取
    

      LoadRunner参数化设置中有九种取值方式:(以用户名参数user为例,其数据参数列表为:jojo、201401、201402、201403、201405、201406、201407、201408、201409,迭代次数设置为10次)

      1、Sequential+Each Iteration

      脚本会执行10次,每次迭代会按数据列表顺序取值,每一次迭代中出现的参数user的值是当前第一次参数替换的值。第1次迭代均为jojo,以此类推。

      2、Sequential+Each Occurrence

      脚本执行10次,每次迭代中出现参数user,顺序取值一次,第1次迭代中出现3次user,则user取值为jojo、201401、201402,等到取值到201409,下次会从第一个数顺序取值。

      3、Sequential+Once

      脚本执行10次,user只取值一次,每次出现的user替换参数值都是jojo。

      4、Random+Each Iteration

      脚本执行10次,数据表中的数据随机取,比如第一次迭代取值201405,则这次迭代中出现参数user地方则用201405替代。

      5、Random+Each Occurrence

      脚本执行10次,数据表中的数据随机取,迭代过程中只要出现参数user的地方就随机取值一次。第1次迭代出现3次user,则随机数为201407、jojo、201403。

      6、Random+Once

      脚本执行10,数据表中数据随机取值,参数user只取值一次,10次迭代过程中出现参数user的地方都是用随机取值(比如201406)替代。

      7、Unique+Each Iteration

      每个用户对应一次数据,当迭代次数超过用户数据量,根据设置情况处理情况,如下图所示

      8、Unique+Each Iteration

      当前有9条数据,没出现一次参数user,只能用一个数值替代,9条数据取完之后根据设置超出值处理。每次迭代出现3次user,则第4次迭代无数据可取,根据超出时设置处理后面的情况。此方式只能执行者决定每个user值分配块的大小。如下图所示:

      9、Unique+Once

      参数user只取值一次,所有的出现参数user都用jojo替换,当前脚本可执行10次。设置如图所示:

  • 相关阅读:
    java基础知识--环境变量配置
    安装oracle11g时遇到INS-13001环境不满足最低要求
    MINA系列学习-IoBuffer
    MINA系列学习-mina整体介绍
    DBCP数据源连接池实现原理分析
    dbcp数据源配置杂谈
    Java 内存区域和GC机制分析
    网站的防盗链与反盗链的那点事
    这一天博客小院我进来了!
    AOP
  • 原文地址:https://www.cnblogs.com/qmfsun/p/4486880.html
Copyright © 2011-2022 走看看