. select next row(下一值取值方式)l Sequential(顺序):Vuser按照顺序从数据表中取值,每次当Vuser访问数据表,都返回下一个可用的数据,如果没有足够的数据,VuGen将从数据表的第一行重新开始取值。这种方式强调虚拟用户的一致性,每个用户运行到该点取值是一致的51Testing软件测试网(m5w'ob9VzX
l Random(随机)51Testing软件测试网
DC:_8t} x b/XcT3knx
每次Vuser访问数据表时都分配一个随机的值51Testing软件测试网fxirK i8~bx
l Unique(唯一)51Testing软件测试网~'O*hz G`J7~ }
唯一的数,为每个Vuser的参数分配唯一的值。与sequential相比,Unique强调的是用户间的差异性,每个用户取到的参数都不一致
L
j$s}Nl*zt;BE02. Update value on(更新方式)
2]L1q9PU-j0l Each iteration:每次迭代都取一个新的值,如果在脚本的一次迭代中,该参数出现两次也只取同一个值
+p5O_&Sl0l Each occurrence:每次遇到参数都取一个新值,如果在脚本的一次迭代中,该参数出现两次,那么两次都取不同的值51Testing软件测试网cEs)hF Jb
l Once:在一个Vuser中参数都取相同的值(不管几次迭代)
%KDK,{ A e~03. 组合取值说明表51Testing软件测试网&s"D5yp:~0FxGudJX
参数取值和更新方式列表51Testing软件测试网#`PUy%iRJ | |
|
update method51Testing软件测试网l*|_:NNr#ut{ (更新方式) ;y{F-GRz e9t0 | 数据分配方法51Testing软件测试网\b%g4G.JhZ6})}{E | |
sequential(顺序)51Testing软件测试网+`va!{:YXU | random(随机)51Testing软件测试网 eqs5\"}tV'f | unique(唯一) Ed%o
^j._r?0 | |
Each iteration r:t1F)g-|l9o)L0(每次迭代)51Testing软件测试网 K@:H{~&Q | 对于每一次迭代,Vuser都从数据表中取下一个值51Testing软件测试网pB9F$j m5j | 对于每一次迭代,Vuser都从数据表里取一个新的随机值51Testing软件测试网NW5Q`cq | 对于每一次迭代,Vuser都会从数据表里取下一个唯一值51Testing软件测试网w V;Ea{_d"p | |
|
Each occurrence51Testing软件测试网Sw7}
WE$~ (每次遇到) x)K6Rby0 | 即使在一次迭代中,每次遇到参数,Vuser都会从数据表中取下一个值 t:L;N |KlkF9^]0 | 即使在一次迭代中,每次遇到参数,Vuser都会从数据表中取一个新的随机值51Testing软件测试网#r3]t2iC^kH+u | 即使在一次迭代中,每次遇到参数,Vuser都会从数据表中取一个新的唯一值 !y&KGx'A0 | |
|
once51Testing软件测试网gNTS(q (一次)51Testing软件测试网+\-Y2Cm7r*B | 对于每个Vuser,第一次迭代分配的值和接下来的迭代取相同的值 \
m6C3`?E6K&w J0 | 对于每个Vuser,第一次迭代分配的随机值和接下来迭代取相同的值51Testing软件测试网T(y6lZ9yN.\ | 对于每个Vuser,第一次迭代分配的唯一值和接下来的迭代取相同的值51Testing软件测试网z^&jQ)V|/~c2s | |
|
6wb\$Db8x.a I04. Unique参数取值说明51Testing软件测试网,d7HToy7y\ZW
Select next row = unique需要选下面两个内容
N'W\S'I7]0l When out of value(当数据表的值不够的时候所做操作)51Testing软件测试网'rV-R6D%E$V$UB
Abort user(中止运行):停止运行51Testing软件测试网+dB!\"v?/lnQ
Continue with last value(取最后一个值):Vuser取最后一个值51Testing软件测试网@Bf1saCE
Continue in a cyclic manner(循环取值):Vuser从属于他的数据表中的第一个取值开始循环取值
oY4o7Y+l0Wk(G0l Allocate Vusers value in the Controller(为Vuser分配参数块)
D1dc6s8l0[0Automatically allocate block size(自动分块):系统自动为参数分块大小51Testing软件测试网!J4GHV'o
自动分块示意图:假设一个Vuser执行完迭代需要4个值
P"T2`
oT8dP0C0A1 1f Y'Z.R!G8o)P0 | A251Testing软件测试网x/hNn @*J
t | A351Testing软件测试网 KXEfT8@1V8WL | A4 Q!Fyq(A$^.t_
V0 | A5 D5E/D'l`?n7r$f0 | A651Testing软件测试网TY6J&^Mh | A7 L;gve!o/IER0 | A8 tk$Uk5\Ll0 | … *jHMjF8L/|0 | An51Testing软件测试网 ^C"`6V:s7@ e9V2UK | An+1 3D.Gpi,c0 | M{eHb }!dQ[1lfY0 |
Vuser151Testing软件测试网
a+t ZGP5Z,g | Vuser2 "dk~;tEo0 | … +tB5cL3{!C`0 | Vuser n51Testing软件测试网0U&?;iv2|YZ#B | Vuser n+1 4~l)@4Uy$CA#]0 |
51Testing软件测试网{1p$z9A1no9^2l1) 会按照排队的方式分配参数
!|[zr{7sS?02) 块的大小为一个Vuser运行完毕所需要的参数51Testing软件测试网|3X0zMJS9Z
3) Vuser分到的参数不够,将在自己分的块中进行取值:例如:Vuser n只分到两个参数,Vuser n会按照when out of value的方式取值,如果是Continue with last value,Vuser n的参数取值是An,An+1,An+1,An+1,如果选择的是Continue in a cyclic manner,Vuser n的参数取值是An,An+1,An,An+1(块内循环)
8vW.[;aC4J04) Vuser n+1因为没有分到参数会报错
T dAxT%M05) 所需参数总数 块大小* Vuser个数(块大小计算,Each iteration(每次迭代)则=迭代次数,Each occurrence(每次遇见)则=迭代次数*一次迭代出现次数)
6S:b(axL_0 51Testing软件测试网8O-h} T'W(L@
Allocate ** values for each Vuser(分配**块给每个Vuser):手动分块
7Oe;DJv0手动分块示意图:假设一个Vuser执行完迭代需要4个值,手动分块块大小为351Testing软件测试网6uhH9d9[)pzg
A1 [k"b*XHf0 | A2 j{'S^
vv ^(C0 | A351Testing软件测试网L"B-b,QKR0x8K8o | A451Testing软件测试网nkE1x Zap{vs4z7q | A551Testing软件测试网xZ*Y j^6T | A6 ,cBO D4mc @Y0 | A7 !|7e3D5ZlZ0 | A8 )c"GZl*}e0 | A9 f$VQ!i(BI,r0 | …51Testing软件测试网0KN%{X#z)z4IV |
Vuser151Testing软件测试网aeK%l8ILT | Vuser2 7O5E:u5E&F
Pe0 | Vuser351Testing软件测试网]"^3P2KLD:y | … )V,};_BEq2M0 |
51Testing软件测试网mH@P,X1) 会按照分块的方式分参数51Testing软件测试网2BD5|Z/v7EU6q.l&R:e
2) 块大小为设定大小51Testing软件测试网N?p(K+yFN V:k$M
3) Vuser分到的参数不够,将在自己分的块中进行取值:例如:因为每个Vuser需要四个参数,所以每个Vuser参数都不够,则Vuser2为例,如果选择的是Continue with last value,Vuser 2的参数取值是A4,A5,A6,A6,如果选择的是Continue in a cyclic manner,Vuser 2的参数取值是A4,A5,A6,A4(块内循环)51Testing软件测试网e4MI b
A;L0q2Q*@VMK
4) 所需参数总数手动分配块大小* Vuser个数
u ~ |Goh"_4Fa4Z7g0注:在controller设置duration的情况下,自动分块的分块方式有所变化,块大小=我们输入的参数总数/ Vuser的个数,其他处理方式和手动分配块大小一致51Testing软件测试网zNB3XA^8Q8E]