El uso de herramientas de prueba de interfaz en las pruebas de interfaz de Python

gracias por sacar

.

.

Lee este artículo

1. Uso de herramientas de captura de paquetes

1. Introducción a la herramienta de captura de paquetes

  • Herramientas para desarrolladores de Chrome/Firefox: Navegador integrado, fácil de usar

  • Fiddler/Charles: captura de paquetes basada en proxy, potente, puede capturar paquetes en teléfonos móviles, simular redes débiles, interceptar solicitudes y personalizar respuestas

  • Fiddler: Gratis, solo es compatible con Win

  • Charles: Gratis, compatible con Win/Linux/Mac

  • wireshark/tcpdumps: Captura de paquetes para la capa de tarjeta de red, con una gran cantidad de datos, puede capturar paquetes de varios protocolos como tcp/udp (requiere filtrado)

  • wireshark: compatible con Win/Linux/Mac

  • tcpdumps: comando de captura de paquetes de Linux, potente, a menudo utilizado para la captura de paquetes del servidor

1.1 ¿Qué es un proxy?

reenviar proxy

Proxy de reenvío y proxy inverso

  • En el proxy de reenvío, el proxy y el cliente están en una red de área local, transparente para el servidor

  • En un proxy inverso, el proxy y el servidor están en una red de área local, transparente para el cliente

  • Por ejemplo, usar un proxy para acceder a Google es un proxy directo y solicitar diferentes sitios web desde el mismo servidor a través de Nginx a través de diferentes nombres de dominio es un proxy inverso.

  • El proxy inverso puede equilibrar la carga

  • La prueba de interfaz de proxy inverso generalmente necesita vincular primero los hosts locales

1.2 Cómo agregar manualmente un proxy

  • Inicie el servidor proxy, como abrir el servicio proxy de Postman (ip local, puerto predeterminado 5555)

  • Win settings -> proxy -> configurar proxy ip y nombre de dominio

1.3 Configuración del teléfono móvil Proxy de Internet (captura de paquetes del teléfono móvil)

  • Laptop y móvil usan el mismo wifiacceso a Internet

  • Inicie el servidor proxy en la computadora portátil, como Postmanel servicio de proxy abierto (máquina local ip, puerto predeterminado 5555)

  • Mantenga presionado el teléfono para wifi->seleccionar Administrar red o Configuración de ->proxy manual avanzada ->Configurar proxy ipy nombre de dominio

1.4 Bind hosts (para proxy inverso)

  • Ganar:notepad C:\Windows\System32\drivers\etc\hosts

  • Linux: vim /etc/hosts(formato: nombre de dominio ip)

2. Herramientas para desarrolladores de Chrome

  • Elementos: panel de elementos HTML, utilizado para ubicar y ver el código fuente de los elementos;

  • Consola: panel de consola js, línea de comando js, ​​ver registros de front-end;

  • Fuentes: panel de recursos, utilizado para depurar js con puntos de interrupción;

  • Red: Solicitar panel de información, ver información de solicitud y respuesta;

  • Línea de tiempo: un panel de línea de tiempo que registra varios eventos que ocurren durante el ciclo de vida del sitio web;

  • Perfiles: panel de detalles del evento;

  • Aplicación: almacenamiento local, almacenamiento de sesión y otra información de recursos;

  • Seguridad: determine si la página web actual es segura;

  • Auditorías: Diagnóstico de desempeño de la red;

1. Panel de red

panel de red

1.1.Consola: Apariencia y control de funciones

  • Grabar: Grabar o detener la solicitud de grabación

  • Borrar: borrar todas las solicitudes

  • Toma instantáneas: Captura eventos de pantalla cuadro por cuadro

  • Filtro: utilice para desactivar la función de filtro

  • buscar: solicitud de búsqueda

  • Agrupar por cuadro: Agrupar por cuadro

  • Conservar registro: conservar las solicitudes cuando se vuelve a cargar la página

  • Deshabilitar caché: deshabilitar caché

  • Fuera de línea: Desconexión de red y simulación de red débil

  • Filtros: solicitar filtros

  • Descripción general: Cronología de recursos

1.2.Filtros: solicitar filtros

1.3.Descripción general: cronograma de recursos

1.4.Tabla de solicitudes: lista de solicitudes

  • Nombre: nombre del recurso

  • Estado: código de estado HTTP

  • Iniciador: origen de la solicitud

  • Tamaño: archivo descargado y tamaño de recurso solicitado del servidor. Si el recurso se obtiene del caché, esta columna mostrará (del caché)

  • Línea de tiempo: muestra el eje de estado de la línea de tiempo de todas las solicitudes de red

1.5.Resumen: número total de solicitudes, volumen de transferencia de datos, información de tiempo de carga

  • DOMContentLoaded: el DOM en la página está completamente cargado y analizado;

  • cargar: todos los DOM, CSS, JS e imágenes en la página están completamente cargados;

导出请求:右击请求 -> Copy -> Copy as fetch / Copy as cUrl

3. Introducción al violinista

Fiddler下载:https://www.telerik.com/download/fiddler

1. Por qué usar Fiddler

  • Los datos de la solicitud se pueden capturar y se puede ver el Rawformato/formato del formulario /Json/XML;

  • Puede interceptar y modificar solicitudes;

  • filtros más potentes;

  • PostmanLa solicitud enviada por el script/script de interfaz se puede capturar , lo cual es conveniente para la depuración;

  • Puede capturar solicitudes de teléfonos móviles...

2. Interfaz principal del violinista

Interfaz principal de violinista

2.1.Inspectores: Inspectores

  • Raw: el formato raw de la solicitud

  • WebForm: formato de formulario solicitado

  • Json: la solicitud de formato Json solicitada

  • XML: el formato XML solicitado

2.2.AutoResponsder: respuesta automática, se puede usar para construir una respuesta, simulacro, no modifique la interfaz de depuración de archivos del servidor

2.3.Compositor: diseñador, envío y depuración de solicitudes

2.4.Filtros: Filtros

  • Anfitriones: filtrar por servidor

  • Proceso Clientes: filtrar por programa cliente

  • Encabezados de solicitud: filtrar por encabezados de solicitud

  • Puntos de interrupción: establecer puntos de interrupción

  • Código de estado de respuesta: filtrar por código de estado

  • Tipo y tamaño de respuesta: filtrar por tipo de respuesta y universidad

  • Encabezados de respuesta: filtrar por encabezados de respuesta

3. Configuración automática del punto de interrupción

menú Rules ->  Automatic Breakpoints -> Before Requests/After Requests

4. Captura de teléfono móvil

fiddlerLa computadora portátil y el teléfono móvil instalados usan lo mismo wifi -> mantenga presionado el teléfono móvil wifi, seleccione avanzado -> agregue proxy ipcomo computadora portátil ip, el puerto es 8888 -> computadora portátil abierta fiddler, página web de acceso del teléfono móvil

4. Uso del cartero

1. Herramientas comunes de prueba de interfaz

  • Postman: herramienta de depuración de interfaz simple y conveniente para compartir y colaborar fácilmente. Con depuración de interfaz, gestión de conjuntos de interfaz, configuración de entorno, parametrización, aserción, ejecución por lotes, interfaz de grabación, servidor simulado, documentación de interfaz, supervisión de interfaz y otras funciones

  • JMeter: herramienta de prueba de estrés y prueba de interfaz de código abierto, compatible con Linux y operación sin interfaz

  • LR: herramienta de prueba de rendimiento de interfaz comercial, fácil de usar y potente

  • SoupUI: herramienta de prueba de código abierto y de uso común para la interfaz de WebService, también puede probar la interfaz Rest y la seguridad de la interfaz

3. Introducción al uso de Postman

Dirección del sitio web oficial: https://www.postman.com/


Interfaz principal del cartero

3.1 Barra de herramientas

  • Nuevo: nuevo, puede crear nuevas solicitudes de solicitud, conjuntos de solicitudes de recopilación, entornos, etc.

  • Importar: Importar, puede importar el conjunto de solicitudes exportado por otros

  • Runner: ejecutar un conjunto de solicitudes (ejecución por lotes)

  • Invitar: Invitar (requiere registro, invita a colaborar)

  • Ícono de sincronización: (requiere registro, sincroniza tu proyecto con la nube)

  • Ícono de captura de paquetes: solicitud de captura/captura de paquetes, utilizada para habilitar el proxy Postman, después de configurar manualmente el proxy (o proxy móvil), puede capturar/grabar la solicitud

  • Icono de configuración: Configuración del cartero

  • Iconos de mensajes: mensajes oficiales y de asistencia

  • Iconos favoritos: Mis favoritos (requiere registro)

  • Ícono de la nube: datos de la nube del usuario (es necesario registrarse)

3.2 Área de gestión de interfaz

  • Historial: Historial de solicitudes, puede consultar registros de solicitudes anteriores

  • Colecciones: Un conjunto de interfaz, que es equivalente a un proyecto de interfaz o plan de prueba.Se puede crear una subcarpeta infinita en el conjunto de interfaz para administrar las interfaces en grupos.

3.3 Área de gestión ambiental

  • Interruptor de entorno: se utiliza para cambiar el entorno.

  • Vista previa del entorno: para obtener una vista previa rápida de todas las variables del entorno

  • Gestión del entorno: se utiliza para agregar y modificar el entorno y las variables de entorno, así como las variables globales.

3.4 ¿Qué es el medio ambiente?

接口完整地址 = 服务地址 + 接口地址,如
www.sojson.com + /open/api/weather/json.shtml

Un entorno es un conjunto de configuraciones que contienen muchas variables de entorno. En la prueba de interfaz, la dirección del servidor puede ser diferente según la implementación en diferentes servidores, pero la dirección de interfaz de la misma interfaz no cambia. Para probar el mismo conjunto de interfaces implementadas en diferentes servidores, podemos crear diferentes entornos, y las variables de host en diferentes entornos usan direcciones diferentes

3.5 Área de Diseño de Interfaz

Puede crear múltiples solicitudes nuevas a través del número en la tabparte superior . +El área de diseño de la interfaz se divide en área de solicitud y área de respuesta de arriba a abajo

3.5.1 Área de solicitud

  • Línea de dirección de solicitud: puede seleccionar el método de solicitud (GET/POST/…), completar la dirección de solicitud, enviar la solicitud y guardar la solicitud en el conjunto de prueba

  • Área de datos de solicitud: dividida en autorización, encabezado de solicitud, datos de solicitud, secuencia de comandos ejecutada antes de enviar la solicitud (para preparar datos) y secuencia de comandos ejecutada después de la solicitud (para aserción)

3.5.2 Área de respuesta:

  • Contenido de respuesta: puede ver Pretty (formato embellecido), Raw (formato original), Preview (formato de vista previa HTML)

  • cookie de respuesta

  • encabezado de respuesta

  • El resultado de la prueba, correspondiente a la aserción establecida en Pruebas en la solicitud

Función de interfaz principal de cartero

3.5.Conjunto de solicitud de recogida

El conjunto de prueba es Postmanuna unidad "general" de administración de interfaz en China. La ejecución, la exportación y el uso compartido se basan en el conjunto de prueba.

  • Nuevo conjunto de prueba: Newbotón -> Collectiono haga clic directamente en el botón Nuevo conjunto de prueba que se encuentra arriba de la lista de conjuntos de prueba

Nuevo conjunto de prueba

  • Autorización: las interfaces en el conjunto de prueba y sus subcarpetas usan esta autorización de manera uniforme, y no es necesario configurar cada interfaz por separado

  • Script de solicitud previa: el script de solicitud previa común a cada interfaz del conjunto de prueba

  • Aserciones posteriores a la solicitud: scripts posteriores a la solicitud comunes a cada interfaz en el conjunto de pruebas

  • Variables del conjunto de solicitudes: algunas variables comunes al conjunto de solicitudes

3.6.Subcarpeta de colección

Las propiedades de la subcarpeta también tienen descripción, autorización, script previo a la solicitud y aserción posterior a la solicitud (sin variables, administración unificada de variables de un conjunto de solicitudes), lo que implementa la función Fixture de diferentes ámbitos.

  • Exportación del conjunto de solicitudes: el conjunto de solicitudes se puede exportar y enviar a otros (sin llevar información del entorno), y otros pueden usar su interfaz importando

  • Compartir conjunto de solicitudes: el conjunto de solicitudes se comparte directamente con otros (ambas partes deben registrarse

3.7 Gestión ambiental

Nuevo ambiente


Podemos configurar múltiples variables en el entorno para usar en la solicitud
Método de uso de la variable de entorno:
seleccione el entorno, utilícelo en la solicitud URLo la solicitud para Bodyusar { {变量名}}la variable de entorno, la variable se puede usar en Bodyvarios formatos de la solicitud, pero no directamente en la solicitud Utilizado en guiones previos Pre-request Scripty posteriores a la solicitud Tests.

Uso de variables de entorno


En la administración del entorno, también puede hacer clic en "Global" para agregar variables globales. Las variables de entorno solo tendrán efecto cuando se seleccione el entorno. Las variables globales tendrán efecto en cualquier entorno. Las variables en el conjunto de prueba solo tendrán efecto en el conjunto de prueba actual Cuando las variables del conjunto de prueba, las variables de entorno, cuando la variable global tiene nombres de variables repetidos, la prioridad es: variable de entorno > variable del conjunto de prueba > variable global.

3.8.Uso de parámetros

Cuando hay muchos parámetros en la solicitud URL, es inconveniente agregar y ver. Puede hacer clic en URLel botón detrás del cuadro de entrada Paramspara agregar variables y valores en forma de tabla. Después de agregar desde la tabla, las variables y valores se añadirá automáticamente a URLla

Agregar parámetros de URL

3.8.1 Solicitud de Diseño

  • Autorización: si la interfaz requiere autorización, puede configurar el método de autorización (tipo) y la información de autorización en esta página

  • Encabezado: Encabezado de solicitud, puede establecer el tipo de solicitud (Tipo de contenido) y Cookie

  • Cuerpo: formulario de datos de solicitud
    -datos: formulario mixto, admite la carga de archivos
    x-www-form-urlencoded: formulario de texto
    sin formato: formato sin formato, admite formato JSON/XML (opcional más adelante)
    binary: formato binario, utilizado para enviar un flujo de datos binarios

  • Script de solicitud previa: script de solicitud previa, sintaxis de Javascript, utilizado para generar algunos datos dinámicos o realizar algún procesamiento antes de enviar una solicitud

  • Pruebas: secuencia de comandos posterior a la solicitud, sintaxis de Javascript, utilizada para realizar algún procesamiento o afirmar el resultado después de que se devuelve la solicitud

3.8.2 Métodos para que Postman envíe solicitudes en varios formatos

HeaderNota: Sin embargo, al seleccionar una solicitud diferente, se agregará automáticamente Content-Typeinformación en

Solicitud de formulario híbrido

solicitud de formulario tradicional

Solicitud de formato JSON

Solicitud XML

3.8.3 Pruebas de afirmaciones

  • Aserción de código de estado HTTP

tests["HTTP状态码200"]=responseCode.code == 200;
  • La respuesta contiene aserción de contenido

tests["状态码200"] = responseBody.has("登录成功");
  • ejemplo

Ejemplo de interfaz

método de aserción

  • Aserción de respuesta JSON

var jsonData = JSON.parse(responseBody);
tests["code为200"] = jsonData.code==200
tests["msg为success"] = jsonData.msg == "success"
GET接口样例:
http://www.tuling123.com/openapi/api?key=ec961279f453459b9248f0aeb6600bbe&info=你好

Aserción de respuesta JSON

3.8.4 Ejecución por lotes del conjunto de pruebas Runner

  • Soporte para establecer el número de iteraciones.

  • Admite la carga de datos de prueba csv o json

  • Cree una nueva colección, como el nombre Demo2

  • Complete la URL:

    https://demo.fastadmin.net/admin/index/login.htmPOST, método de selección

  • BodySe selecciona el formato de datos de la solicitud x-www-form-urlecoded, y los datos de la solicitud se completan en clave :, usernamevalor:, clave :, valor:, aquí { {username}} se utilizan dos variables para la parametrizaciónpassword{ {password}}

solicitar configuraciones

  • Guarde la solicitud en Demo2

  • Cree un nuevo archivo en la computadora data.csv, la primera línea es el nombre de la variable y la siguiente son los datos, como se muestra a continuación

archivo de datos

  • Haga clic en Postmanel Runnerbotón de la barra de herramientas, Collectionseleccione Demo2Dataseleccione el archivo de datos data.csvy haga clic en EjecutarDemo2

Configuración del corredor

resultado de la operación

Finalmente, me gustaría agradecer a todos los que leyeron mi artículo detenidamente. Observando el ascenso y la atención de los fanáticos durante todo el camino, siempre existe la necesidad de un intercambio de cortesía. Aunque no es algo muy valioso, si puede usarlo, Puedes tomarlo directamente.

Estos materiales deben ser el almacén de preparación más amplio y completo para los amigos que hacen [pruebas de software]. Este almacén también me ha acompañado a través del viaje más difícil. ¡Espero que también pueda ayudarlos! Todo debe hacerse lo antes posible, especialmente en la industria de la tecnología, y la base técnica debe mejorarse. Espero ser de ayuda…….

Supongo que te gusta

Origin blog.csdn.net/jiangjunsss/article/details/124247797
Recomendado
Clasificación