Serie Locust Performance-Zero Foundation Entry (7)

Este artículo explica principalmente el uso de la clase TaskSet para administrar escenarios de prueba. Especialmente cuando hay más y más puntos de función para incluir en el alcance de la prueba, es más necesario considerar el contenido relacionado con la gestión de la prueba. Haga que las pruebas de rendimiento sean más organizadas y eficientes.
Utilice los siguientes ejemplos oficiales para explicar el uso de TaskSet y algunos detalles en la ejecución de prueba.

from locust import User, TaskSet, between,task,constant

class ForumSection(TaskSet):
    wait_time = constant(1)
    @task(10)
    def view_thread(self):
        print("This is task viewThread")

    @task(1)
    def create_thread(self):
        print("This is task create thread")

    @task(1)
    def stop(self):
        self.interrupt()

class LoggedInUser(User):
    wait_time = between(5,10)
    tasks = {ForumSection:2}

    @task
    def index_page(self):
        print("this is a index page.")

Como arriba, la clase ForumSection hereda la clase TaskSet, que define 3 tareas, 1 y 2 son tareas más convencionales, donde el peso de view_thread es 10 y el peso de create_thread es 1. Además, hay una tarea especial-> "detener" , El peso de esta tarea es 1. Si el subproceso de la tarea selecciona este método, finalizará la ejecución del subproceso en este conjunto de tareas (TaskSet) y volverá a su nodo principal (TaskSet principal).

En conjunto, estos son algunos puntos clave del uso de este modo para administrar las pruebas de rendimiento.

  • La subclase TaskSet personalizada debe heredar la clase TaskSet

  • Si la clase TaskSet establece parámetros de ejecución de prueba, como wait_time, prevalecerá la configuración de la clase TaskSet. Si no hay parámetros establecidos en la clase TaskSet, se utilizará la configuración de la clase User.

  • Si un subproceso (usuario) ejecuta la tarea de detención en la clase TaskSet, el subproceso volverá al nodo principal, en este caso, volverá a la clase de usuario LoggedInUser, luego el siguiente paso, el subproceso puede realizar la tarea "Index_page", también es posible realizar la tarea "ForumSection". Y así.

  • Cuando la clase TaskSet ejecuta una tarea, toma todas las tareas elegibles en la clase TaskSet como alcance, y las tareas fuera de la clase TaskSet no están dentro del rango de cálculo de peso.

Además, tengo un curso básico de langosta https://edu.51cto.com/sd/ddd95 en 51CTO Academy , marque si es necesario.

Supongo que te gusta

Origin blog.51cto.com/13734261/2551636
Recomendado
Clasificación