Cómo crear un marco de prueba automatizado de interfaz de solicitudes de Python
1. Preparación de datos
Inserción de datos (datos externos fáciles de implementar necesarios para escenarios de prueba)
Preparación de SQL (las interfaces deben repetirse, los parámetros deben ser variables)
2. Implementación integrada (solo necesita saber sobre operación y mantenimiento)
Actualice sin problemas el script de verificación y agregue automatización
3. implementación
Llamar a mysql
Casos de prueba transversales de Excel
Implementar la solicitud de llamada a la interfaz
Comparar el valor del código devuelto por la interfaz con Excel
Informar comentarios
Exponer servicios
Escribir una prueba automatizada de interfaz de inicio de sesión simple
El código se divide en capas de la siguiente manera:
coding.png p>
Escribir un módulo de paquete para obtener la tabla de Excel
excel.png
El código se implementa de la siguiente manera:
#! /usr/bin/python
# -*- Codificación: UTF-8 -*-
# Paquete base: contenedor para Excel
importar xlrd p>
libro de trabajo = Ninguno
def open_excel(ruta):
"""Abrir excel""
libro de trabajo global
if (libro de trabajo == Ninguno):
workbook = xlrd.nrows
def get_content(sheet, row, col):
"""Obtener el contenido de la tabla ""
returnsheet.cell(row, col). value
def release(path):
""Liberar Excel para reducir la memoria""
libro de trabajo global
workbook.release_resources()
del libro de trabajo
El código está encapsulado y referenciado como un módulo, que se encuentra en el comenzando
En segundo lugar, consulte el módulo de registro para obtener el registro
Trabajo de preparación:
Necesita capturar el registro, incluido el marco y el código fuente generado desde la expectativa.
El código es el siguiente:
#! /usr/bin/python
# -*- Codificación: UTF-8 -*-
# Paquete base: servicio de registro
importar registro
hora de importación
def getLogger():
tezLogPath global
prueba:
tezLogPath
excepto NameError:
tezLogPath = "/data/log/apiTest/"
FORMAT = '(asctime)s - (nombre)s - (levelname)s - (mensaje) s'
# file = tezLogPath time.strftime("Y-m-d", time.localtime()) ".log"
# logging.basicConfig(filename=archivo, nivel=logging .INFO, format=FORMAT)
##Para fines de depuración durante la fase de desarrollo, no es necesario generar resultados en un archivo
# logging.basicConfig(level=logging., format=FORMAT )
Volver al registro
3. Prueba de interfaz del módulo de solicitud de referencia
Trabajo de preparación:
Tipo y método de solicitud requeridos de ejecutar la prueba.
El código es el siguiente:
#! /usr/bin/python#
#-*- Codificación: UTF-8 -*-
# PAQUETE BASICO: Paquete de prueba de interfaz
solicitudes de importación
importar tezLog como registro
logging = log.getLogger()
def api_test(método, URL, datos, encabezados):
"""
Defina el método y los parámetros requeridos de la interfaz de solicitud
: Args:
método - nombre comercial str
url - Nombre de usuario str
data - Parámetro str
headers - Dict de encabezado de solicitud
Solicitud de API no RESTful Otro tipo de solicitud no se utiliza realmente. Tampoco es seguro. .
"""
prueba:
if método == "publicar":
resultados = solicitudes.post(url, datos , encabezados=encabezados)
if método == "get":
resultados = solicitudes.get(url, datos, encabezados=encabezados)
get( url, datos, encabezados=encabezados)get(url, datos, encabezados=encabezados)
# if método == "poner":
# resultados = solicitudes.put(url, datos, encabezados=encabezados)
# if método == "eliminar":
# resultados = solicitudes.delete(url, encabezados=encabezados)
# if método == "parche":
# resultados == solicitudes.patch (url, datos, encabezados=encabezados)
# if método == "opciones":
# resultados == solicitudes.opciones(url, datos, encabezados=encabezados)