Prueba de API utilizando Postman y Excel

Hola a todos, soy el jefe del departamento de pruebas y recientemente apareció una tarea para probar la API. Para resolverlo, dominé la nueva herramienta Postman y JavaScript para mí.

Inicialmente, para cada API, escribí mis colecciones y preparé datos de prueba en formato JSON. Esto es bastante conveniente, pero con una gran cantidad de pruebas y colecciones, no es rentable mantenerlo. Y no es conveniente validar datos en JSON.

Para resolver estos problemas, escribí una macro para Excel y una colección en Postman. Ahora en Postman tengo una colección para todas las API y un conjunto estándar de funciones para procesar datos entrantes y validar los resultados devueltos. Logré transferir la secuencia de ejecución de consultas y gestión de datos de prueba a Excel.

Que fue


1. JSON con datos


Anteriormente, el kit de prueba se almacenaba en este formulario

2. 2. La secuencia de ejecución de consultas con controladores JS se almacenó en colecciones de Postman.



Lo que se ha convertido


1. Conjunto de pruebas movido a Excel



Todos los datos se ingresan en Excel (caracteres clave de control: R, H, I, etc. Escribiré a continuación) y luego, usando una macro, se transfieren al formato json:



2. En cartero



El experimento se realizó en un conjunto estándar de operaciones CRUD, que se pueden ampliar aún más.

Dado que en Postman todas las operaciones se realizan solo dentro del marco de la solicitud, tuve que ingresar una solicitud de obtención vacía al final de la cual se determina la siguiente solicitud de la secuencia. Ejecute el código JS antes de la solicitud y determine la primera solicitud sin un error de vacío.

En todas las solicitudes, el script de solicitud previa y las secciones de prueba están vacías, todo el código está unificado para las solicitudes y se almacena en las secciones generales del script de solicitud previa y la prueba de la carpeta Colección API.



En todas las solicitudes, es importante prestar atención a la url y la sección del cuerpo en las solicitudes POST y PUT, sus valores están determinados por variables, cuyos valores se ingresan desde el JSON con los datos.



Ahora sobre las pruebas mismas




Cómo leer excel . La primera línea no vacía es el número del caso de prueba, es decir, el caso de prueba se almacena verticalmente y en esta página hay 9 casos de prueba. En el conjunto actual, en cada caso de prueba, primero se ejecutará una solicitud POST, luego Eliminar.

Cómo iniciar la generación Json desde Excel . En Excel, presione F11 y vaya a "EtaBook", allí ejecute la macro.

Palabras clave


R - solicitud, significa el comienzo de una nueva solicitud, en la segunda celda de la línea se almacena el tipo de solicitud, en la tercera es la dirección con la que necesita contactar. Tenga en cuenta que en la URL puede especificar variables de cartero


Se extraerá el valor de la variable

H - Datos para la verificación en el encabezado, hasta ahora solo se ha ingresado el código de respuesta, Postman solo lo verifica en el cartero. Es importante que en Excel el nombre sea el mismo "código de respuesta", o corregido en Postman



I, I2 ... - La sección de datos de entrada admite el almacenamiento de modelos de datos de cualquier anidamiento, la figura a la derecha de I es responsable del nivel de anidamiento. El siguiente conjunto de datos está envuelto en JSON como este. Si la variable que almacena los datos está vacía, no se agregará. Es decir, si no hay valor en la variable inn, entonces no se agregará, y se agregará la variable principal, ya que almacena el modelo. Además, si todo el modelo está vacío, tampoco se agregará.


Los datos de esta sección se enviarán en el cuerpo de la solicitud.



O, O2 ... - Sección de los parámetros de salida, se compararán con los devueltos por respuesta. Al igual que la sección de entrada, es compatible con el almacenamiento del modelo.


Al comparar, los datos se convierten en cadenas, también limité el nivel de recursión, esto se puede eliminar

PO - Salida del cartero, los valores de esta sección se tomarán del cuerpo de respuesta de la solicitud por el nombre de la variable y se escribirán en la variable Cartero.


En Excel, es suficiente poner cualquier carácter, el valor de la respuesta, no sobresalir, se escribe en la variable


Esta sección es necesaria para almacenar datos entre scripts, por ejemplo, para eliminar un objeto con ID que se creó en la solicitud anterior

PC - El comando Postman, introdujo solo un comando "terminar", se usa para forzar la terminación después de ejecutar la solicitud actual. Útil para una prueba negativa, para no causar un paso para eliminar el objeto creado.


Ingresar este comando permitió almacenar pruebas positivas y negativas en una hoja



PI - Entrada del cartero, los valores de esta sección se escribirán en las variables del cartero antes de la definición de la URL


Puede ser útil si necesita anular las variables que se especifican en la url de solicitud.

Por cierto, puede usar datos de variables de Postman en los datos suministrados, para esto necesita usar un diseño especial



En el caso 1, ingresamos el valor obtenido en una variable, en el caso 2 lo usamos. Se puede usar no solo en el siguiente caso, sino también en el actual en la próxima solicitud. Por ejemplo, puede ser necesario si la definición del objeto para el cambio no sigue la url, sino de acuerdo con el valor de la variable en la solicitud.

Preparación para la carrera


Y ahora, ejecute, ejecute el corredor Postman, seleccione la colección deseada y cargue el archivo con datos de prueba:



Serviremos el siguiente conjunto:



Aquí se describen 15 pruebas, con los pasos 1-11, 13, 15 positivos con un resultado de 200 para una solicitud POST y los pasos 12, 14 son negativos con un resultado de 400. La información no se ingresará en la base de datos y, por lo tanto, la sección Salida está vacía, y se indica el comando terminar Este comando interrumpirá la ejecución de la secuencia y no se enviará la solicitud para eliminar "Eliminar".

Después de los casos 1-11, 13, 15, recordamos la identificación que se asignó al nuevo objeto y luego la eliminamos.

Lanzamos



Las 15 pruebas tuvieron éxito, la imagen muestra la prueba 14, en la que no se llama a Eliminar después de POST

En las pruebas 1-11,13,15 después de POST, la eliminación del objeto creado se llama:



Resumen


  • La secuencia de solicitudes para probar la API se realiza en Excel y se procesa en Postman.
  • Todos los datos de prueba también se representan en Excel, es conveniente administrarlos y validarlos. Al menos más conveniente que en formato JSON.
  • La colección Postman está estandarizada y no necesita mejorarse al probar API similares.

Referencias


  1. Repositorio de GitHub, hay Excel y la colección Postman
  2. En desarrollo, se utilizó una herramienta VBA-JSON creada por Tim Hall.


Actualización del 15/10/2019

1. Se mejoró la capacidad de generar archivos json sin ejecutar excel, póngalo en GenerateAll.cmd git, que ejecuta el script vb GenerateJsonFiles.vbs. El script llamado pasará por la carpeta actual y todas las subcarpetas y generará archivos json
2. Ejecute RunAll.cmd para ejecutar todos los archivos de datos json generados, también la carpeta actual y todas las subcarpetas. Al lado de cada uno de ellos colocará output-report.log con los resultados de la ejecución.

Ahora atornillar a CI no debería ser un problema. También puede ajustar la generación json para implementar git y comparar datos en Excel para cambios en archivos json.

Source: https://habr.com/ru/post/467127/


All Articles