Tutorial de la serie Nanny "Blast Liver Tidying" - Cómo jugar con Charles Tutorial de artefactos de captura de paquetes (10) - Cómo Charles modifica los parámetros de solicitud y los datos de respuesta - Parte 2

 1. Introducción     

Brother Hong ha estado usando cartero para ajustar más la interfaz (lado web) antes, y es muy fácil de comenzar y operar. Pero a veces, si desea modificar la visualización de la página de la aplicación, será más problemático crear datos. Es mejor crearlos usted mismo. Si deja que el desarrollo los cree, debe preguntarle a alguien con una ceja baja. Después del estudio de hoy, ya no tengo que preocuparme por estas cosas molestas. Podemos lograrlo a través de la herramienta Charles. Puede utilizar los siguientes tres métodos para modificar los parámetros de la solicitud o modificar la respuesta: map (mapa), Breakpoints (puntos de interrupción), Rewrite (rewrite).

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

2. Modificar los parámetros de la solicitud  o los datos de respuesta  

Los pasos de operación específicos para que Charles establezca puntos de interrupción son los siguientes: De acuerdo con los requisitos específicos, Charles proporciona la función de mapa, la función de reescritura y la función de puntos de interrupción, todas las cuales pueden lograr el propósito de modificar el contenido devuelto por el servidor. Las diferencias funcionales entre los tres son:

La función Mapa es adecuada para la redirección a largo plazo de ciertas solicitudes a otra dirección de red o archivo local. Solo se pueden modificar los datos devueltos.

La función de reescritura es adecuada para algunos reemplazos regulares en solicitudes de red. Los datos de la solicitud y los datos de la respuesta se pueden modificar.

La función Breakpoints es adecuada para realizar algunas modificaciones temporales. Durante el tiempo de respuesta, se pueden modificar los datos de la solicitud y los datos de la respuesta.

2.1 MAPA (mapeo)

La función de mapa de Charles es redirigir una determinada solicitud y luego usar el contenido redirigido para modificar el contenido de la solicitud; el mapa se divide en Map Remote y Map Local, como su nombre lo indica: Map Remote es para redirigir la solicitud de red especificada a otra URL, Map Local es para redirigir la solicitud de red especificada a un archivo local .

2.2 Reescribir

La función Reescribir es adecuada para algunos reemplazos regulares de cierto tipo de solicitud de red para lograr el propósito de modificar el resultado.

2.3 Punto de ruptura

La función de reescritura proporcionada anteriormente es más adecuada para el reemplazo por lotes y a largo plazo, pero muchas veces, solo queremos modificar el resultado de la solicitud de red temporalmente. En este momento, aunque la función de reescritura también puede lograr el objetivo, es demasiado problemática. Para la modificación temporal, será mejor que usemos la función Breakpoints.

La función Breakpoints es similar a los puntos de interrupción que establecemos en Xcode. Cuando se produce una solicitud de red específica, Charles interceptará la solicitud. En este momento, podemos modificar temporalmente el contenido devuelto de la solicitud de red en Charles.

3. Modificar el contenido de la respuesta   

A veces queremos que el servidor devuelva algún contenido específico, lo que nos conviene para depurar algunas situaciones especiales. Por ejemplo, cuando la página de la lista está vacía, cuando los datos son anormales, cuando algunas solicitudes de red consumen mucho tiempo, etc. Si no hay Charles, será más problemático para el servidor cooperar para construir los datos correspondientes. En este momento, el uso de funciones relacionadas con Charles puede satisfacer nuestras necesidades.

3.1Mapa local

Los escenarios de uso de Map Local, para verificar varios escenarios de datos devueltos por la interfaz, utilizan el mapeo local para modificar la respuesta de la interfaz de solicitud. Para la función Map Local, debemos completar la dirección de origen redirigida y el archivo de destino local. Para algunos resultados de solicitudes de red complejas, primero podemos usar la función "Guardar respuesta..." proporcionada por Charles para guardar los resultados de la solicitud localmente (como se muestra en la figura a continuación), y luego modificarlos ligeramente para que se conviertan en nuestro archivo de asignación de destino.
Los pasos específicos de la operación son los siguientes:

1. Guarde la respuesta de la interfaz: haga clic con el botón derecho --> guardar respuesta --> guardar en una ruta local (preferiblemente en formato json) para la copia de seguridad, aquí todavía está usando la API escrita por usted mismo. Como se muestra abajo:

 2. En el menú Charles, seleccione "Herramientas" -> "Mapa local" para ingresar a la página de configuración de la función correspondiente. Como se muestra abajo:

 Esta operación es un poco más complicada. O puede hacer clic en la interfaz --> clic derecho --> Mapa local para ingresar a la página Editar mapa, como se muestra en la siguiente figura:

 

 3. En la página de configuración del mapa local, marque "Habilitar mapa local", haga clic en "Agregar" y luego configure, configure la ruta del mapa local y seleccione el archivo json modificado que guardó localmente (cambié Zhang San a Beijing-Macro hermano mayor ). Como se muestra abajo:

4. El acceso al navegador u otras herramientas de interfaz vuelven a enviar la solicitud y el resultado esperado regresa a Beijing-Hongge, que es el mismo que el resultado real, como se muestra en la siguiente figura:

 

 

3.2Mapa remoto

Los escenarios de uso de Map Remote, para verificar varios escenarios de datos devueltos por la interfaz, usan el mapeo local para modificar la respuesta de la interfaz de solicitud. Para la función Map Remote, necesitamos completar la dirección de origen y la dirección de destino de la redirección de red respectivamente. Para condiciones que no requieren restricciones, puede dejarlo en blanco.

Los pasos de operación específicos son los siguientes:

1. En el menú Charles, seleccione "Herramientas" -> "Mapa remoto" para ingresar a la página de configuración de la función correspondiente. Como se muestra abajo:

 

Esta operación es un poco más complicada. O puede hacer clic en la interfaz --> clic derecho --> Map Remote para ingresar a la página Map Edit, como se muestra en la siguiente figura: 

 

2. En la página de configuración de Map Remote, marque "Habilitar Map Remote", haga clic en "Agregar" y luego configure Map From (dirección de interfaz: http://10.11.53.193:5566/users/1801) y Map To ( Dirección de mapeo: http://10.11.53.193:5566/users/1803), Hongge lo asignó a Baidu. Como se muestra abajo:

 

3. Envíe el resultado esperado y devuelva el mismo resultado que el resultado real de Wang Wu, como se muestra en la siguiente figura:

 

 

3.3Reescribir (reescribir)

La función Reescribir es adecuada para algunos reemplazos regulares de cierto tipo de solicitud de red para lograr el propósito de modificar el resultado.

1. Por ejemplo, todavía uso la solicitud de API anterior para obtener información de la cuenta de usuario, pero mi cuenta actual es "Zhang San" y la información de la cuenta devuelta es éxito: éxito, como se muestra en la siguiente figura:

2. Queremos intentar modificar directamente el valor de retorno de la red, reemplazando el éxito por el fracaso. Así que habilitamos la función Reescribir y luego establecemos las siguientes reglas: 

 

3. Marque "Habilitar reescritura", haga clic en "Agregar" y luego configure las reglas, como se muestra en la siguiente figura: 

4. El acceso al navegador u otras herramientas de la interfaz vuelven a enviar la solicitud, y el error de devolución del resultado esperado es el mismo que el resultado real, como se muestra en la siguiente figura:

 

3.4Breakpoint (punto de ruptura)

La función de reescritura proporcionada anteriormente es más adecuada para el reemplazo por lotes y a largo plazo, pero muchas veces, solo queremos modificar los resultados de respuesta de la red temporalmente. En este momento, aunque la función de reescritura también puede lograr el objetivo, es demasiado problemática. Para modificaciones temporales, será mejor que utilicemos la función Breakpoints.

La función Breakpoints es similar a los puntos de interrupción que establecemos en Xcode. Cuando ocurre una solicitud de red específica, Charles interceptará los datos de retorno de la solicitud. En este momento, podemos modificar temporalmente los datos de retorno de la solicitud de red en Charles.

El método de modificación de los datos devueltos en el punto de interrupción se presentó en detalle en el artículo anterior (Portal), por lo que el hermano Hong no lo repetirá aquí.

Cuatro Resumen    

El hermano Hong aquí presenta un total de cuatro formas de establecer y modificar el contenido de la respuesta. En el trabajo general, necesitamos cambiar el método de manera flexible de acuerdo con las necesidades, en lugar de permanecer sin cambios. Bueno, hoy se está haciendo tarde, ¡así que eso es todo por la explicación y el intercambio! Gracias por su paciencia en la lectura~~

Supongo que te gusta

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