Tutorial de la serie Nanny "Blast Liver Tidying" - Tutorial de cómo jugar con Charles Packet Grabbing Artifact (13) - Cómo Charles simulacro y prueba de interfaz

1. Introducción

La mayor ventaja de Charles es el análisis de captura de paquetes, y la mayoría de las funciones que usamos también son funciones de captura de paquetes, pero no olvide que Charles también puede realizar pruebas de interfaz. En cuanto a Mock, ya se ha introducido en la modificación de los datos de solicitud y respuesta. El hermano Hong está aquí para presentar brevemente su conocimiento teórico. Hoy, la introducción principal y el intercambio es la operación práctica de las pruebas de interfaz usando Charles.

2. ¿Qué es Mock?

La Enciclopedia Baidu dice lo siguiente: Las pruebas simuladas son un método de prueba que utiliza un objeto virtual para crear un método de prueba para algunos objetos que no son fáciles de construir u obtener durante el proceso de prueba.

Mock es crear un objeto Mock para simular el comportamiento del objeto para algunos objetos que no son fáciles de construir/obtener durante el proceso de prueba.

El método Mock es una técnica común en pruebas unitarias, su función principal es simular algunos objetos que no son fáciles de construir o son más complicados en la aplicación, para aislar la prueba de los objetos fuera del límite de la prueba.

Si desea aprender a probar la automatización de la interfaz, aquí le recomiendo una serie de videos. Se puede decir que este video es el tutorial de prueba de automatización de la interfaz número uno en toda la red en la estación B. Al mismo tiempo, el número de en línea usuarios ha llegado a 1.000, y hay notas para coleccionar y usar Intercambios técnicos de varios maestros: 798478386    

[Actualizado] La colección más detallada de tutoriales prácticos para pruebas automatizadas de interfaces de 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 impartidas por la estación B (combate real) La última versión) tiene un total de 200 videos, que incluyen: 1. [Automatización de interfaz] 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 capacitado en la biblioteca de solicitudes y la lógica de llamada de 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 emocionantes, preste atención a la cuenta UP. https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a

3. Ventajas de las pruebas simuladas

3.1 Trabajo en equipo en paralelo

Durante el proceso de desarrollo, siempre que las partes de interacción definan la interfaz, los equipos pueden trabajar en paralelo, el proceso no se afecta entre sí y no hay necesidad de esperar el progreso de los demás. Solo acuerde la especificación de datos (interfaz documento) entre sí, y luego use el simulacro para construir Descubra la interfaz disponible, y luego desarrolle y autopruebe lo antes posible para encontrar defectos por adelantado.

3.2 Desarrollo basado en pruebas TDD (Desarrollo basado en pruebas)

Las pruebas unitarias son la piedra angular de la implementación de TDD, y TDD a menudo se encuentra con la situación de que el módulo colaborativo aún no se ha desarrollado, pero con el simulacro, los evaluadores pueden acceder a la prueba con anticipación para mejorar la eficiencia de la prueba. cree un simulacro, agregue la interfaz al entorno de prueba automatizado y cree pruebas por adelantado.

3.3 Cobertura de prueba

La interfaz involucra parámetros de entrada, o la lógica comercial es compleja, algunos escenarios no se pueden operar por medios normales, pero a través de una simulación virtual simulada, la cobertura se puede aumentar de manera efectiva

3.4 Sistema de aislamiento

Si una interfaz devuelve diferentes valores en diferentes estados, la práctica común es reproducir este estado y luego solicitar la interfaz. Sin embargo, al usar algunas interfaces, puede fallar debido a un tiempo o método de operación inadecuado, e incluso contaminar el almacenamiento de back-end. Como la base de datos, etc., para evitar la contaminación de la base de datos del sistema, la interfaz se puede ajustar al modo simulado para garantizar la pureza de la base de datos.

4. Desventajas de las pruebas simuladas

Mock no es una panacea, y existen riesgos al usar Mock, es necesario determinar si usar Mock de acuerdo con la situación real y las necesidades específicas del proyecto.

Si se utiliza una gran cantidad de simulacros durante la prueba, la escena de la prueba simulada perderá su autenticidad, lo que puede conducir al descubrimiento de errores en las pruebas sistemáticas posteriores, lo que hace que el descubrimiento de defectos se retrase, lo que puede resultar en una mayor reparación posterior. costos

5. Cliente simulado

El documento de la interfaz se ha acoplado, pero la interfaz de back-end aún no se ha desarrollado. Los evaluadores deben realizar pruebas unitarias o realizar pruebas de automatización de la interfaz con anticipación, y deben usar el contenido devuelto por Mock varias solicitudes.

6. Servidor simulado

Cuando el personal de front-end ha completado las tareas de desarrollo, pero el personal de back-end aún no ha completado el desarrollo de la interfaz y necesita depurar y probar conjuntamente con el personal de front-end, se debe crear un servicio simulado.

Bueno, aquí se introduce la teoría del Mock, y los interesados ​​pueden consultar la información por privado. El siguiente paso es entrar en el enfoque de hoy: utilizar a Charles para las pruebas de interfaz.

7. Componer

Para probar con Charles, usamos principalmente la funcionalidad Composer. Esto es similar a la herramienta Fiddler. Composer permite enviar solicitudes personalizadas al servidor y se puede crear una nueva solicitud manualmente. Los pasos específicos de la operación son los siguientes:

7.1 Método 1

1. Abra Charles, haga clic en [Herramientas] --> [Redactar] o [Redactar nuevo...]. Como se muestra abajo:

2. Complete la información de la interfaz que desea probar. Si hay un documento de interfaz, complete de acuerdo con el documento de interfaz. Si no, complete el paquete usted mismo, como se muestra en la figura a continuación:

 

7.2 Método 2

1. Seleccione la información de solicitud de la interfaz capturada, haga clic derecho --> [Redactar], como se muestra en la siguiente figura:

 2. Aparece la información relevante de la solicitud de interfaz. Como se muestra abajo: 

 

 

8. Análisis de la función de interfaz

Describa las funciones de la interfaz de Composer según la posición marcada en la siguiente figura.

1. Método de solicitud: haga clic para seleccionar el protocolo de solicitud: obtener, publicar, etc.

2. Barra de direcciones URL: ingrese la dirección URL solicitada

3. Después de hacer clic en el botón Ejecutar, se puede ejecutar la solicitud

4. Una vez completada la ejecución, se generará un registro de historial en el área Historial a la derecha

5. Versión http: puede comprobar la versión http

6. Agregar parámetros de solicitud

9. Práctica de prueba de interfaz

9.1 Combate API POST

Ahora la interfaz gratuita es muy difícil de encontrar.Después de buscar durante mucho tiempo, encontré una en python, que también se usó en Fiddler antes. Solo usa esto como un ejemplo.

Información de la interfaz:

información de la interfaz describir
https://httpbin.org/post dirección de interfaz
método de solicitud PUBLICACIÓN HTTP
solicitar parámetros El formato del parámetro de solicitud es JSON

 Formato de parámetro:

{
    "form": {
        "comments": "测试猿廖廖post接口测试", 
        "custemail": "[email protected]", 
        "custname": "测试猿廖廖", 
        "custtel": "13045032408", 
        "delivery": "15:45"
  }
}

Entonces, cómo usar Charles para depurar una solicitud POST con datos en formato json, los pasos específicos son los siguientes:

1. Inicie Charles, abra el panel Redactar, ingrese la URL en el panel Redactar nuevo (ingrese la dirección de la interfaz de solicitud) y seleccione el método de solicitud POST en el cuadro desplegable, como se muestra en la siguiente figura:

 

2. Después de hacer clic en [Redactar], como se muestra en la siguiente figura:

 3. Haga clic en [Texto JSON], luego ingrese los datos JSON solicitados y finalmente haga clic en [Ejecutar] como se muestra a continuación:

 4. Haga clic en Ejecutar, si ve el resultado en la lista de sesiones y devuelve 200, significa que la operación fue exitosa, como se muestra en la siguiente figura:

5. Verifique el resultado de la respuesta de la solicitud en los Inspectores. Sabemos de antemano que la interfaz devuelve datos en formato json. Haga clic en el json en la parte de respuesta para formatear los datos para facilitar la lectura. Como se muestra abajo:

 

9.2 OBTENER API de combate

Información de la interfaz: una solicitud de obtención con parámetros, como buscar en Douban: Journey to the West, la dirección URL es: https://www.douban.com/search?q=Journey to the West. La operación específica se muestra en la siguiente figura:

1. Inicie Charles, abra el panel Redactar, ingrese la URL en el panel Redactor y seleccione el método de solicitud GET en el cuadro desplegable, como se muestra en la siguiente figura:

2. Ingrese los parámetros de la interfaz de solicitud, como se muestra en la siguiente figura: 

 

 3. Haga clic en Ejecutar, si ve el resultado en la lista de sesiones y devuelve 200, significa que la operación fue exitosa, como se muestra en la siguiente figura:

 

10. Resumen

 Hoy expliqué y compartí principalmente dos métodos de solicitud sobre cómo usar Charles para las pruebas de interfaz. ¡Otras solicitudes son similares! ! ! Bueno, no es demasiado temprano hoy, el hermano Hong explicará y compartirá aquí, ¡gracias por leer con paciencia! ! !

Supongo que te gusta

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