loadrunner参数化中 select next row 和update value on一共有几种组合方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了loadrunner参数化中 select next row 和update value on一共有几种组合方式相关的知识,希望对你有一定的参考价值。

参考技术A Select
next
row【选择下一行】:
顺序(Sequential):按照参数化的数据顺序,一个一个的来取。
随机(Random):参数化中的数据,每次随机的从中抽取数据。
唯一(Unique):为每个虚拟用户分配一条唯一的数据
Update
value
on【更新时的值】:
每次迭代(Each
iteration)
:每次迭代时取新的值,假如50个用户都取第一条数据,称为一次迭代;完了50个用户都取第二条数据,后面以此类推。
每次出现(Each
occurrence):每次参数时取新的值,这里强调前后两次取值不能相同。
只取一次(once)
:参数化中的数据,一条数据只能被抽取一次。(如果数据轮次完,脚本还在运行将会报错)
上面两个选项都有三种情况,如果将他们进行组合,将产生九种取值方式。
Select
Next
Row
【选择下一行】
Update
Value
On
【更新时的值】
Replay
Result
【结果】
顺序(Sequential)
每次迭代(Each
iteration)
结果:分别将15条数据写入数据表中
功能说明:每迭代一次取一行值,从第一行开始取。当所有的值取完后,再从第一行开始取
如:如果参数化文件中有15条数据,而迭代设置为16次,那执行结果中,参数化文件第一行的数据有两条
顺序(Sequential)
每次出现(Each
occurrence)
结果:分别将15条数据写入数据表中
功能说明:每迭代一次取一行值,从第一行开始取。当所有的值取完后,再从第一行开始取
如:如果参数化文件中有15条数据,而迭代设置为16次,那执行结果中,参数化文件第一行的数据有两条,与(Each
iteration)不同的是(Each
occurrence)前后两次取值不能相同,
顺序(Sequential)
只取一次(once)
结果:表中写入15条一模一样的数据。
功能说明:每次迭代都取参数化文件中第一行的数据。
随机(Random)
每次迭代(Each
iteration)
结果:表中写入15条数据,但可能有重复数据出现
功能说明:每次从参数化文件中随机选择一行数据进行赋值
随机(Random)
每次出现(Each
occurrence)
结果:表中写入15条数据,但可能有重复数据出现
功能说明:每次从参数化文件中随机选择一行数据进行赋值
随机(Random)
只取一次(once)
结果:表中写入15条相同数据
功能说明:第一次迭代时随机从参数化文件中取一行数据,后面每次迭代都用第一次迭代的数据。
注:第一次随机取了A,则后面14次都用A
唯一(Unique)
每次迭代(Each
iteration)
自动分配块大小
结果:分别将15条数据写入数据表中
功能说明:第一次迭代取参数化文件中的第一条数据,第二次迭代取第二条数据,以此类推。
注:如果设置迭代次数为16次。结果:在执行第16次迭代时会抛异常,异常日志可在LoadRunner的回放日志(replayLog)中看到。
唯一(Unique)
每次出现(Each
occurrence)
步长为1
结果:分别将15条数据写入数据表中
功能说明:第一次迭代取参数化文件中的第一条数据,第二次迭代取第二条数据,以此类推。
注:如果设置迭代次数为16次,而参数化文件中只有15条数据,明显数据不够。此时可以设置“when
out
of
values”属性来判断当数据不够时的处理方式
Abort
Vuser:中断虚拟用户
Countinue
in
a
cylic
manage:循环取参数化文件中的值,即:当参数化文件中的值取完后又从参数化文件的第一行开始取值。
Countinue
with
last
value:继续用最后一条数据
唯一(Unique)
只取一次(once)
结果:表中写入15条相同的数据
功能说明:每次都取参数文件中的第一条数据进行赋值
注:如果迭代次数为15次,则每一次迭代都取第一条,特别注意的是在并发场景跑的时候要这样设置,因为这样才会出现每个用户用不同的参数,并发是同时用,而迭代是一次一次用

Scala类参数化中附加冒号的含义

【中文标题】Scala类参数化中附加冒号的含义【英文标题】:Meaning of additional colon in Scala class parametrization 【发布时间】:2012-10-08 17:52:03 【问题描述】:

以下代码中的[A : Manifest : WireFormat] 是什么意思?它来自com.nicta.scoobi.TextInput(在 github 上可用)。它似乎不是任何通常的类型界限。

  def fromDelimitedTextFile[A : Manifest : WireFormat]
      (path: String, sep: String = "\t")
      (extractFn: PartialFunction[List[String], A])
    : DList[A] = 

    val lines = fromTextFile(path)
    lines.flatMap  line =>
      val fields = line.split(sep).toList
      if (extractFn.isDefinedAt(fields)) List(extractFn(fields)) else Nil
    
  

在哪里可以找到有关此主题的更多信息?

【问题讨论】:

【参考方案1】:

这称为上下文绑定。它们是隐式参数列表的语法糖:

def meth[A : ContextBound1 : ContextBoundN](a: A)

// ==>

def meth[A](a: A)(implicit evidence: ContextBound1[A], ContextBoundN[A])

如果有从 1 到 N 的多个上下文边界,它们都被翻译成同一个参数列表。请参阅this question,了解有关它们的工作原理和用途的更详细说明。

要查找此类符号,请阅读*** Scala Tutorial。

【讨论】:

以上是关于loadrunner参数化中 select next row 和update value on一共有几种组合方式的主要内容,如果未能解决你的问题,请参考以下文章

LoadRunner参数化之九种取值方式

Scala类参数化中附加冒号的含义

可变参数模板错误:“在实例化中”(gcc 9.2)

在类模板实例化中为某些参数显式使用默认值

处理使用typescript在类实例化中反转@inject()参数

如何在不选择模式配置参数的情况下使用 mongoose 在 MongoDB 模式实例化中的关联数组/对象中执行 foreach?