Aprende este truco y juega fácilmente con la automatización de pequeños programas

Mucha gente sabe que jmeter puede realizar pruebas de rendimiento. ¿Sabía que jmeter puede especificar la cantidad de subprocesos y el tiempo de ejecución cuando comienza a ejecutarse y personalizar escenarios de rendimiento?

Prueba de rendimiento de jmeter, escenarios de rendimiento establecidos dinámicamente

Por lo general, cuando usamos jmeter para pruebas de rendimiento, usamos grupos de subprocesos ordinarios y los parámetros de la escena, como la cantidad de usuarios simultáneos y el tiempo de ejecución, son fijos y están codificados. Al ejecutar el script, se ejecuta de acuerdo con el escenario codificado en el script.

imagen

 Si desea aprender sobre pruebas automatizadas, aquí le recomiendo un conjunto de videos. Se puede decir que este video es el primer tutorial de prueba de automatización de interfaz en toda la red en la estación B. Al mismo tiempo, la cantidad de usuarios en línea ha aumentado. Llegó a 1000 y hay notas para cobrar y varios Intercambio técnico de Lu Dashen: 798478386      

[Actualizado] La colección más detallada de tutoriales prácticos para pruebas automatizadas de interfaces Python impartidas por la estación B (la última versión de combate real)_哔哩哔哩_bilibili [Actualizado] La colección más detallada de tutoriales prácticos para pruebas automatizadas de Python interfaces enseñadas por la estación B (combate real) La última versión) tiene un total de 200 videos, que incluyen: 1. [Automatización de interfaces] La situación actual del mercado de pruebas de software y los estándares de capacidad de los probadores. , 2. [Automatización de interfaz] Totalmente experto en la biblioteca de solicitudes y la lógica de llamada del método subyacente, 3. [Automatización de interfaz] combate de automatización de interfaz y la aplicación de expresiones regulares y extractores JsonPath, etc. Para videos más interesantes, preste atención a la cuenta UP. https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a

Creo que la mayoría de ellos usan jmeter para pruebas de rendimiento y diseño de escenarios de rendimiento, que son similares a la imagen de arriba, incluida la cantidad de subprocesos muertos, el tiempo de aceleración y el tiempo de ejecución continua.

Esto es excelente y se puede usar directamente, pero cuando usamos el modo CLI para realizar pruebas de carga, esperamos poder cambiar la cantidad de subprocesos, el tiempo de aceleración y el tiempo de ejecución continua en cualquier momento. ¿hazlo tu?

Utilice la interfaz gráfica de usuario de jmeter para modificar estos valores de parámetros en la escena, luego guárdelos y ejecútelos nuevamente, o edite directamente el archivo script jmx, guárdelos y ejecútelos nuevamente.

Ambos métodos están bien, pero ¿crees que es más problemático? ¿Existe una forma más concisa de hacer esto?

En mi enseñanza, les dije que además de las variables, jmeter también tiene 'propiedades', que son las etiquetas de la herramienta jmeter y se pueden usar en cualquier parte de la herramienta jmeter.

jmeter no solo admite la configuración de propiedades estáticas en el archivo de propiedades, sino que también admite la generación dinámica de propiedades durante la ejecución del script y también admite la importación externa de propiedades dinámicas.

Podemos modificar la escena como se muestra en la figura:

imagen

Al obtener el atributo pthreads, especifique el número de subprocesos, obtenga el atributo pramp para especificar el tiempo de aceleración y obtenga el atributo pruntime para especificar el tiempo de ejecución continua.

¿Existen realmente estos atributos? ¿Qué significan los números después de eso?

En primer lugar, la función P, en jmeter, es una función de adquisición de atributos. Tiene dos parámetros. El primer parámetro es el nombre del atributo. Estos atributos pueden ser atributos estáticos definidos de antemano o atributos dinámicos generados dinámicamente, como se muestra en la figura Todos los atributos utilizados no están definidos de antemano y se definen dinámicamente en tiempo de ejecución, el segundo parámetro es el valor predeterminado del atributo, cuando el atributo no obtiene un valor, se utiliza este valor predeterminado.

¿Cuál es el significado?

Es decir, si está diseñado como se indica arriba, si lo ejecuta directamente sin pasar ningún valor de atributo, iniciará 30 usuarios simultáneos en 1 segundo y se ejecutará continuamente durante 60 segundos.

imagen

Ahora puede estar seguro de que incluso si no pasa estos valores de atributos, esta escena aún puede ejecutarse normalmente.

Entonces, ¿cómo deberíamos pasar estos valores de atributos al realizar pruebas de rendimiento en modo CLI?

En primer lugar, debemos saber que generalmente hay dos formas de usar el modo CLI para las pruebas de rendimiento: una es iniciar directamente el script local para ejecutarlo y la otra es usar distribuido y especificar la máquina de asistencia para ejecutar.

  • Utilice el comando CLI para especificar directamente el script local que se ejecutará

En el comando CLI, use -J[nombre_propiedad]=valor para pasar el valor de la propiedad

# 本地运行, 指定pthreads线程数属性参数值为50,pruntime持续运行时间属性参数值为70秒
jmeter.bat -n -t .\jkscript\demo_script.jmx -Jpthreads=50 -Jpruntime=70 \ 
-l test001.jtl -e -o .\jkscript\test001

imagen

Vea, en operación real, 50 subprocesos, ejecutándose durante 70 segundos.

  • Utilice el comando CLI para especificar la máquina de asistencia que se ejecutará

En el comando CLI, use -G[nombre_propiedad]=valor para pasar el valor de la propiedad


# 采用助攻机运行 指定pthreads线程数属性参数值为80,指定pruntime持续运行时长属性参数值为120秒
jmeter.bat -n -R 192.168.x.x:port -t .\jkscript\demo_script.jmx -Gpthreads=80 -Gpruntime=120 \ 
-l test002.jtl -e -o result002

imagen

Mire, en la operación real, de acuerdo con la configuración de los parámetros del comando, se están ejecutando 80 subprocesos y la ejecución dura 120 segundos.

Con esta tecnología, ya no necesitamos abrir el script para modificar la escena de rendimiento, solo necesitamos cambiar los parámetros del script al ejecutar el comando. Sin embargo, debemos recordar claramente que cuando se ejecuta localmente, use 'J' antes del nombre del parámetro de atributo, y cuando se ejecuta de manera distribuida, use 'G' antes del nombre del parámetro de atributo.

Supongo que te gusta

Origin blog.csdn.net/m0_73409141/article/details/132279058
Recomendado
Clasificación