while variable jmeter counter increment

while - Jmeter: recuento de incrementos de la variable de usuario para n usuario(subproceso) y n solicitud



jmeter random variable (2)

Tengo la prueba de Jmeter con el siguiente escenario:

Thread (5 in number) -> counter X (X value 0, increment by 1 till 10) -> req1 uses X -> req2 uses X

Ahora lo que quiero lograr es que, para cada usuario y cada solicitud, el valor de X se incremente sin superposición / repetición, es decir, si lo ejecuto para 5 usuarios * 2 ejecuciones = 10 solicitud, el valor de X para cada solicitud debería ser muy alto. 1 a 10 sin repetición.

Pero el enfoque anterior no funciona, ya que cada contador comienza desde 0, así que obtengo X duplicado en la solicitud realizada, algo así como

user1 -> req1 X = 0, user1 -> req2 X = 1 user2 -> req1 X = 0 user2 -> req2 X = 1

Traté de usar la variable definida por el usuario con: preproceso de shell de frijol sigue siendo el mismo problema. incluso el $ {__ intSum ($ {X}, 1, X)} no resuelve el problema. incluso intenté $ {__ counter (TRUE, X)} no resuelve el problema.


JMeter Counter de forma predeterminada no da un valor duplicado: se incrementa automáticamente para cada usuario y para cada iteración.

Desmarque la casilla de verificación ''Seguir contador de forma independiente para cada usuario''.

EDITAR:

Si su requisito es aumentar el contador para cada solicitud dentro de un grupo de subprocesos, no es posible con el contador. Puede usar las propiedades de JMeter para hacer eso.

Consulte aquí - http://jmeter.apache.org/usermanual/best-practices.html - Sharing Variables.


La solución para esto es usar el preprocesador BeanShell. Utilicé el shell Bean con el siguiente valor y utilicé la variable "transactionId" en todas mis solicitudes y obtuve un valor diferente para cada llamada por cada hilo (usuario).

import java.util.Random; long x = 1000000L; long y = 9999999L; Random r = new Random(); long number = x+((long)(r.nextDouble()*(y-x))); vars.put("transactionId",number ); log.info(" transactionId : " + number );

Nota: Puede usar cualquier lógica para generar el valor según su requisito.