El controlador "SOLO UNA VEZ" no funciona de la forma que usted cree.
Se ejecuta "solo una vez" POR HILO. Por lo tanto, si tiene 100 hilos, se ejecutará 100 veces.
Si desea que se ejecute vez por prueba, haga lo siguiente:
Test Plan (Set thread groups to "run consecutively"
- Cookie Manager
- Thread Group A (1 thread, 1 loop)
- - - Login Logic
- Thread Group B
- - - Rest of test
Atención, si necesita compartir cualquier variable entre threadgroups A y B, es necesario establecer como propiedades. Las variables no se pueden compartir entre grupos de subprocesos, pero las propiedades sí. Necesitarás usar la función de propiedades para esto.
La función __setProperty almacena automáticamente el valor como una variable global. La forma más limpia de iniciar __setProperty sería crear una secuencia de comandos Beanshell de procesador POST como elemento secundario para la muestra que crea la cookie en THREAD A. Para recuperar el valor en THREAD B, agregue la función __property como VALOR para el parámetro que necesita el valor de la cookie
El guión Beanshell sería algo como esto:
props.put("COOKIENAME","COOKIEVALUE"); //creates a property "COOKIENAME" with value "COOKIEVALUE"
print(props.get("COOKIENAME")); //prints the value out to the console
El código anterior siempre tendría el mismo valor para cookieName, a menos de idea. Por lo tanto, debemos asegurarnos de que "COOKIEVALUE" sea dinámico. Yo recomendaría poner una expresión regular POST-PROCESADOR para extraer el valor de la cookie y luego pasarlo al script beanshell.
Por lo tanto, nuestro plan de pruebas ahora se ve así:
Test Plan (Set thread groups to "run consecutively"
- Thread Group A (1 thread, 1 loop)
- - - Login Logic
- - - - - Regex to grab cookie, store as "regexCookie"
- - - - - Beanshell to set property
- Thread Group B
- - - Rest of test
Y nuestro script beanshell ahora queda como:
props.put("COOKIENAME",vars.get("regexCookie")); //creates a property "COOKIENAME" with value from "regexCookie"
print(props.get("COOKIENAME")); //prints the value out to the console
enlaces al manual del usuario:
Quiero enviar toda la solicitud a la vez, si pongo la "petición HTTP normal" dentro del controlador de bucle y luego cada solicitud se ejecutará uno por uno que significa después de completar la primera solicitud única que lo hará comenzar segundo. así que no puedo encontrar cuántas solicitudes bloquearán la conexión. Y tengo una duda más sobre el controlador Once only, y todavía no puedo entender la funcionalidad del controlador Once Only. En mis casos de prueba, se ejecuta para todos los hilos que mencioné en el grupo de hilos. Debe ejecutarse solo una vez para los casos de prueba. ¿derecho?. AYUDA EN ESTA NOTIFICACIÓN – prashant