Después de escribir más apis o hacerse cargo de los proyectos de otras personas, habrá más operación y mantenimiento de api, especialmente en el entorno de prueba, varios factores harán que aparezca la interfaz que no cumple con las expectativas. En este momento, cuando los productos y las pruebas, Todos corren. Cuando vienes a hostigarte, tu primera reacción es ejecutarlo tú mismo para ver si hay un problema real de interfaz, y luego analizarlo en detalle.
Por lo general, se empalma la dirección de la interfaz, se construyen los parámetros y luego se solicita a la API para ver el resultado devuelto. Este tipo de acción suele ser molesto después de hacer demasiadas cosas, especialmente cuando se encuentra que la interfaz está bien al final.
Selección de herramientas
Criteria de selección
Capaz de importar fanfarronería en lotes
Capacidad para construir una interfaz de prueba por su cuenta
Puede ejecutarse en lotes
Puede generar informe
Es mejor poder alertar
Herramienta candidata
jmeter-Lo encontré en Internet. Lo primero que noté fue jmeter, pero debido a que la interfaz es un poco tosca y el costo de aprendizaje es un poco alto, no lo he considerado por el momento.
Soupui: parece una herramienta antigua, pero debido a que la versión gratuita no admite la exportación de informes, renuncié
dredd: esto se ve bien y puede admitir swagger, pero lo intento si no se ejecuta correctamente.
Postman: esto ya se instaló antes, pero no encontré su función. Ahora, es muy simple, fácil de usar y también admite swagger, y luego lo es
conocimiento relacionado con el cartero
Importar arrogancia
Esta función es la más importante para mí. Hay un botón de importación en la esquina superior izquierda. Puede seleccionar "Importar desde enlace" e ingresar la dirección de documentos de la API swagger de la interfaz, por ejemplo: http://192.168.99.100: 8080 / scm / v2 / api -docs y luego importarlo.
Configurar colección
Al guardar una solicitud, puede seleccionar una colección existente o crear una nueva. La colección puede ser equivalente a un conjunto de pruebas.
Configurar pruebas
Si desea ejecutar pruebas automatizadas, debe configurar los scripts aquí; de lo contrario, incluso si lo ejecuta, no tiene mucho sentido. El script de dos líneas más simple y más utilizado es el siguiente:
tests ["El código de estado es 200"] = responseCode.code === 200;
tests ['El tiempo de respuesta es inferior a 500ms'] = responseTime <500;
Uno es el código de estado de la afirmación de http y el otro es la respuesta de afirmación hora.
Establecer variables de entorno
Simplemente elija una solicitud http de la colección y luego haga clic en el botón de configuración a la derecha, Administrar entornos, y luego puede definir las variables de entorno. Puede definir dos conjuntos de dev y prod, y configurar el host api del entorno correspondiente respectivamente , para que no sea necesario configurar repetidamente la solicitud de API. Use { {varname}} para referirse a las variables en la url , asumiendo que varname es un nombre de variable que establezca.
Ejecutar corredor
Hay un icono de corredor en la esquina superior izquierda, tócalo para que aparezca la interfaz COLLECTION RUNNER. Aquí es donde se realizará la prueba automática por lotes, seleccione el entorno y luego ejecútelo.
ejecución de la línea de comandos de newman
Exportar configuración
En la colección, exportar, seleccionar Colección V2 y exportar como json. Si se utiliza el entorno, debe exportar la configuración json del entorno.
Instalar newman
sudo npm install -g newman
Ver la versión de Newman
newman -version
3.4.3
Ejecución de línea de comando
newman run demo.postman_collection.json --reporters cli,html --environment dev.postman_environment.json --reporter-html-export result.html
Los resultados de la línea de comando son los siguientes:
┌─────────────────
│ │ executed │ failed │
├─────────────────
│ iterations │ 1 │ 0 │
├─────────────────
│ requests │ 22 │ 0 │
├─────────────────
│ test-scripts │ 22 │ 0 │
├────────────────
│ prerequest-scripts │ 0 │ 0 │
├────────────────
│ assertions │ 44 │ 6 │
├────────────────
│ total run duration: 28s │
├────────────────
│ total data received: 312.29KB (approx) │
├─────────────────────
│ average response time: 1245ms │
└─────────────────────
# failure detail
1. AssertionFai… Response time is less than 1000ms
at assertion:2 in test-script
inside "XXXX" of "app1"
2. AssertionFai… Response time is less than 1000ms
at assertion:2 in test-script
inside "XXXX" of "app2"
3. AssertionFai… Response time is less than 1000ms
at assertion:2 in test-script
inside "XXXX" of "app1"
4. AssertionFai… Response time is less than 1000ms
at assertion:2 in test-script
inside "XXXX" of "app3"
5. AssertionFai… Response time is less than 1000ms
at assertion:2 in test-script
inside "XXXX" of
"app2"
6. AssertionFai… Status code is 200
at assertion:1 in test-script
inside "XXXX" of "app1"
Al mismo tiempo, se generará un informe result.html.
integración de jenkins
Construir seleccione Ejecutar comando por lotes de Windows: simplemente ingrese el comando anterior
Publicar informe de resultados de la prueba JUnit: Jenkins tiene un informe de resultados de la prueba Publicar JUnit que se puede utilizar para analizar el informe de prueba xml de junit. Para usar esto, la línea de comando debe generar el informe de junit
newman run demo.postman_collection.json --reporters cli,html,junit --environment dev.postman_environment.json --reporter-html-export result.html --reporter-junit-export junit-result.xml
Finalmente: ¡una ola de intercambio de datos de pruebas de software!
En la industria de la tecnología, debe mejorar sus habilidades técnicas y enriquecer su experiencia práctica en proyectos de automatización, lo que será muy útil para la planificación de su carrera en los próximos años y la profundidad de su dominio de la tecnología de prueba.
¡En la temporada de entrevistas del Golden 9th y Silver 10th, la temporada de búsqueda de empleo y organización de preguntas de entrevistas se ha convertido en mi hábito durante muchos años! La siguiente es mi colección y clasificación en los últimos años, todo está organizado en torno a [pruebas de software], el contenido principal incluye: video exclusivo de prueba de automatización de Python, detalles de automatización de Python, un conjunto completo de preguntas de entrevista y otro contenido de conocimiento.
¡Que tú y yo nos encontremos y encuentres algo! Si desea intercambiar experiencia en pruebas de software, pruebas de interfaz, pruebas automatizadas y entrevistas. Siga la cuenta pública de WeChat:[Tiras picantes tristes]Reciba gratis un libro de entrevistas para ingenieros de pruebas de software de 216 páginas. ¡Y los tutoriales de aprendizaje en video correspondientes son gratuitos para compartir! Falda de aprendizaje de comunicación:313782132
Recomendar buenos artículos:
¿Qué debo aprender exactamente en las pruebas automatizadas?
¿Qué es una prueba más avanzada, automatizada o manual?
El principiante debe ver: ¿Cómo escribir un caso de prueba calificado?