Realizar el inicio de sesión en ciertos intervalos en jmeter
? En las pruebas de proyectos reales, a menudo nos encontramos con escenarios comerciales en los que el proceso comercial debe iniciar sesión primero y luego realizar operaciones relacionadas posteriores. Algunas solicitudes de inicio de sesión utilizarán la verificación del token. El período de validez del token es relativamente corto y el equipo del proyecto no está dispuesto a modificar el período de validez. En este momento, durante la prueba de estabilidad, la operación de inicio de sesión debe realizarse nuevamente antes de que el token entre en vigencia.
En la actualidad, no se ha pensado en ningún otro buen método durante el proceso de prueba usando jmeter. El método de implementación temporal es el siguiente:
La operación de inicio de sesión se realiza una sola vez. controlador Utilice un script beanshell para obtener la hora actual. Agregue un script beanshell después del controlador solo una vez para determinar el tiempo de ejecución. Agregue un controlador if después del script para determinar el tiempo de ejecución. agregue un Beanshell debajo del controlador if para obtener la hora actual nuevamente.
El script jmeter específico se implementa de la siguiente manera:
1. Estructura del script
2. El sampler beanshell en el controlador solo obtiene el contenido de tiempo actual una vez:
long timestart = System.currentTimeMillis()/1000;
String timestartString = String.valueOf(timestart);
vars.put("timestartString", timestartString);
p>3. Beanshell determina el contenido del script de tiempo de ejecución:
long timesNow = System.currentTimeMillis()/1000;
String aaa = vars.get("timestartString") ;
long timestartLong = Long.parseLong(aaa);
long bbb = timesNow-timestartLong;
vars.put ("bbb",String.valueOf (bbb));
//log.info("Generar prueba numérica cccccccccc"+bbb);
4. Contenidos en la lógica if controlador: La función jexl3 la puede utilizar usted mismo Buscar.
5. El sampler beanshell bajo el controlador if vuelve a obtener el contenido de la marca de tiempo:
long timestart = System.currentTimeMillis()/1000;
String timestartString = String.valueOf(timestart);
vars.put("timestartString",timestartString);
//log.info("Generar prueba numérica cccccccccc");
Lo anterior es un registro del método de implementación para volver a actualizar o iniciar sesión después de que el token de inicio de sesión sea efectivo. En el futuro, otros estudiantes tendrán mejores métodos para compartir y aprender.