数据分配方法
Select next row 设置数据分配方法,包括: "Sequential、Random、Unique"。
数据分配方法描述表
分配方法 | 描述 |
Sequential(顺序) | "顺序" 方法是顺序地向 Vuser 分配数据。当正在运行的 Vuser 访问数据表时,它将会提取下一个可用的数 据行。如果在数据表中没有足够的值,则 VuGen 返回到表中的第一个值,循环继续直到测试结束。 |
Random(随机) | "随机" 方法为每个 Vuser 分配一个数据表中的随机值,可以指定随机种子数。每个种子值代表用于测试执行 的一个随机值顺序。每当使用该种子值时,会将相同顺序的值分配给场景或会话步骤中的 Vuser 。如果在测试 执行中发现问题,并且要使用相同的随机值顺序重复该测试,启用该选项。 |
Unique(惟一) | "惟一" 方法为每一个 Vuser 的参数分配一个惟一的顺序值,使用该项,必须确保表中的数据对所有的 Vuser 和它们的迭代来说是充足的。如果拥有20个 Vuser ,运行5次迭代,则表格中必须至少包含有100个惟一值。 |
数据更新方式
Update value on 设置数据更新方式,包括:"Each occurrence、Each iteration、Once"
数据更新方式描述表
更新方式 | 描述 |
Each occurrence(每次出现) | "每次出现" 方法指示 Vuser 在每次参数出现时使用新值。当使用同一个参数的几个语句不相关时, 该方法非常用用。例如,对于随机数据,在该参数每次出现时都使用新值可能是非常有用的。 |
Each iteration(每次迭代) | "每次迭代" 方法指示 Vuser 在每次脚本迭代时使用新值。如果一个参数在脚本中出现了多次,则 Vuser 为整个迭代中,该参数的所有出现使用同一个值。当使用一个参数的几个语句相关时,该方 法非常有用。 |
Once(一次) | "一次" 方法指示 Vuser 在场景或会话步骤运行期间仅对参数值更新一次。 Vuser 为该参数的所有 出现和所有迭代使用同一个参数值。当使用日期和时间时,该类型可能非常有用。 |
数据分配和更新方式组合表
更新方法 | 数据分配方法 | ||
Sequential | Random | Unique | |
Each iteration | 对于每次迭代,Vuser 会从数据表中 提取下一个值 | 对于每次迭代,Vuser 会从数据表中提取 新的随机值 | 对于每次迭代,Vuser 会从 数据表中提取下一个惟一值 |
Each occurrence | 参数每次出现时,Vuser 将从数据表 中提取下一个值,即使在同一迭代中
| 参数每次出现时,Vuser 将从数据表中提 取新的随机值,即使在同一次迭代中 | 参数每次出现时,Vuser 将从 数据表中提取新的惟一值,即使 在同一迭代中 |
Once | 对于每一个 Vuser,第一次迭代中分 配的值将用于所有的后续迭代 | 第一次迭代中分配的随机值将用于该 Vuser 的所有迭代 | 第一次迭代中分配的惟一值将用 于该 Vuser 的所有后续迭代 |
案例讲解:
假设存在如下数据:孙悟空、猪八戒、沙和尚、唐三藏、刘备、孙权、曹操、关羽、张飞。
使用 Sequential 方法分配数据:
- 如果选择在 "Each iteration" 进行更新,则所有的 Vuser 就会在第一次迭代使用:孙悟空, 第二次迭代使用:猪八戒,第三次迭代使用:沙和尚。
- 如果选择在 "Each occurrence" 进行更新,则所有的 Vuser 就会在第一次迭代出现时使用:孙悟空,第二次迭代使用:猪八戒,第三次迭代使用:沙和尚。
- 如果选择更新 "Once", 则所有 Vuser 就会在所有的迭代中使用孙悟空。
- 如果数据表中没有足够的值,则 Vuser 返回到表中的第一个值,循环继续知道测试结束。
使用 Random 方法分配数据:
- 如果选择在 "Each iteration" 进行更新,则 Vuser 在每次迭代时使用表中的随机值。
- 如果选择在 "Each occurrence" 进行更新,则 Vuser 就会在参数每次出现时使用随机值。
- 如果选择更新 "Once",则所有 Vuser 就会在所有的迭代中使用第一次随机分配的值。
使用 Unique 方法分配数据:
- 如果选择在 "Each iteration" 进行更新,则对于一个有3次迭代的测试运行,第一个 Vuser 将在第一次迭代时提取:孙悟空,第二次迭代时提取:猪八戒,第三次迭代时提取:沙和尚。 第二个 Vuser 提取:唐三藏、刘备、孙权。 第三个 Vuser 提取:曹操、关羽、张飞。
- 如果选择在 "Each occurrence" 进行更新,则 Vuser 就会在参数每次出现时使用列表中的惟一值。
- 如果选择更新 "Once",则第一个 Vuser 就会在所有迭代时都提取:孙悟空,第二个 Vuser 就会在迭代时提取:猪八戒.....