Popular en toda la red, marco de prueba automatizado HttpRunner: datos del archivo CSV (resumen detallado)


prefacio

Cuando la cantidad de datos es relativamente grande, esperamos que los datos de prueba se puedan escribir en un archivo CSV y luego hacer referencia directa a los datos del archivo CSV.

escenarios de prueba

Si el contenido de la lista de parámetros se especifica directamente en el script YAML/JSON, nuestro caso de uso podría verse así:

- config:
    name: parameters test
    request:
      base_url: http://api.nnzhp.cn
    parameters:
      - username-passwd:
          - ["niuhanyang", "aA123456"]
          - ["test10101", "fasdfasfa"]
          - ["test1010", "aA123456"]

- test:
    name: login case
    request:
      url: /api/user/login
      method: POST
      headers:
        Content-Type: application/x-www-form-urlencoded
        User-Agent: Fiddler
      data:
        username: $username
        passwd: $passwd
    validate:
      - eq: [status_code, 200]
      - eq: [content.error_code, 0]

En el caso de uso anterior, solo hay conjuntos de datos de prueba 3. Cuando tenemos conjuntos de datos de prueba 10 o 100, puede ser inconveniente escribir directamente en el script de prueba.

Podemos escribir todos estos datos de prueba en archivos CSV y luego hacer referencia directa a los archivos CSV, lo cual es mucho más conveniente y nuestros scripts son más concisos.

Almacenar un solo parámetro en CSV

Para el archivo de datos CSV, se deben seguir las siguientes reglas acordadas:
el archivo debe colocarse en el mismo directorio que el archivo del caso de prueba;
la primera línea del archivo CSV debe ser el nombre del parámetro y la segunda línea debe ser el valor del parámetro, cada valor (grupo) ocupa una línea;

Si hay varios parámetros en el mismo archivo CSV, el separador entre el nombre del parámetro y el valor debe ser una coma.

Por ejemplo, si tenemos varios conjuntos de datos de inicio de sesión, los nombres de usuario son diferentes, pero las contraseñas son las mismas, podemos crear nombre de usuario.csv y escribir el parámetro de nombre de usuario en nombre de usuario.csv, de la siguiente manera:

username
niuhanyang
test10101
test1010

Luego, en el caso de prueba YAML/JSON, puede consultar el archivo CSV a través de la función de parametrización integrada (abreviada como P) de HttpRunner.

parameters:
  - username: ${
    
    P(username.csv)} # 或者 ${
    
    parameterize(username.csv)}
  - passwd: ["aA123456"]

Nota: en HttpRunner, el nombre del parámetro especificado en los parámetros debe ser coherente con el nombre del parámetro en la primera línea del archivo CSV.

Almacenar múltiples parámetros en CSV

Para múltiples parámetros con correlación, por ejemplo, tenemos múltiples conjuntos de datos de inicio de sesión, y el nombre de usuario y la contraseña son diferentes, luego podemos crear user.csv y escribir los parámetros de nombre de usuario y contraseña en user.csv.

como sigue:

username,passwd
niuhanyang,aA123456
test10101,fasdfasfa
test1010,aA123456

Modifique el script YAML nuevamente:

parameters:
  - username-passwd: ${
    
    P(user.csv)} # 或者 ${parameterize(user.csv)}

Nota: El método de escritura anterior es una relación de uno a uno entre el nombre de usuario y la contraseña. Si se escribe de la siguiente manera, será una combinación de productos cartesianos, resultando en 3 * 3 = 9 combinaciones.

parameters:
  - username: ${
    
    P(user.csv)}
  - passwd: ${
    
    P(user.csv)}

Además, cuando se especifican parámetros en el script de prueba, solo se pueden usar algunos parámetros y no es necesario que el orden de los parámetros sea coherente con el orden de los nombres de los parámetros en el archivo CSV.

Ejecutar el caso de uso

Caso de uso completo del formato YAML (test_csv.yml):

- config:
    name: parameters test
    request:
      base_url: http://api.nnzhp.cn
    parameters:
      - username-passwd: ${
    
    P(user.csv)} # 或者 ${parameterize(user.csv)}

- test:
    name: login case
    request:
      url: /api/user/login
      method: POST
      headers:
        Content-Type: application/x-www-form-urlencoded
        User-Agent: Fiddler
      data:
        username: $username
        passwd: $passwd
    validate:
      - eq: [status_code, 200]
      - eq: [content.error_code, 0]

En la versión HttpRunner 1.x, para citar archivos de datos CSV (como user.csv), debe colocar user.csv y test_csv.yml en el mismo directorio y luego ejecutar el caso de uso.

El informe después de ejecutar el caso de uso es el siguiente:

C1

El siguiente es el diagrama de sistema de arquitectura de conocimiento de aprendizaje de ingeniero de prueba de software más completo en 2023 que compilé

1. De la entrada al dominio de la programación en Python

Por favor agregue una descripción de la imagen

2. Proyecto de automatización de interfaz de combate real.

Por favor agregue una descripción de la imagen

3. Combate real del proyecto de automatización web

Por favor agregue una descripción de la imagen

4. Combate real del proyecto de automatización de aplicaciones

Por favor agregue una descripción de la imagen

5. Hoja de vida de los fabricantes de primer nivel

Por favor agregue una descripción de la imagen

6. Probar y desarrollar el sistema DevOps

Por favor agregue una descripción de la imagen

7. Herramientas de prueba automatizadas de uso común

Por favor agregue una descripción de la imagen

Ocho, prueba de rendimiento JMeter

Por favor agregue una descripción de la imagen

9. Resumen (pequeña sorpresa al final)

La lucha es un camino inseparable del sudor, y cada gota de sudor tiene presente el coraje y la perseverancia de la lucha. Deja las dudas, levanta el pecho y da pasos firmes, solo a través del viento y la lluvia se puede ver un arcoíris.

Toma el sueño como rumbo y navega hacia la orilla ideal con lucha. El camino puede ser difícil, pero cada paso es una señal de crecimiento. La persistencia y la perseverancia son las piedras angulares del éxito, y la perseverancia es la contraseña para realizar los sueños. ¡Cree en ti mismo, avanza con valentía, crearás infinitas posibilidades!

En el camino de la lucha, no tengas miedo a los desafíos, porque son catalizadores del crecimiento. Usa el coraje para disipar el miedo, usa el trabajo duro para escribir con brillantez, cada esfuerzo es la fuerza impulsora para el futuro.

Supongo que te gusta

Origin blog.csdn.net/x2waiwai/article/details/132209855
Recomendado
Clasificación