Una interfaz de herramientas de prueba hacen uso del cartero (IV) - parametrizado, la presentación de informes de pruebas de ejecución de los casos (conclusión) ...

  introducción

  Como afirmaciones cartero ya descritos y extracción de parámetros, esto es para el funcionamiento de la interfaz de funcionamiento, antes de ejecutar la interfaz, tenemos que hacer lo que el? No hay duda de que se ha parametrizado, puede ayudar a crear datos de prueba por adelantado, por una serie de cifrado y autenticación de la interfaz, tenemos que hacer esto antes de tiempo, con estos parámetros a la solicitud, la interfaz pasará. Permítanme hablar de los parámetros de la prueba real, la ejecución por lotes de casos de prueba y la generación de informes de prueba.

 

 

  parametrización

  Antes de la introducción de la " utilización del cartero hacer pruebas de interfaz de la herramienta (B) - las variables de entorno y el formato de parámetros de la petición " El artículo hablado de las variables de entorno de ajuste, de hecho, parametrización, y ahora, que introdujo varias otras formas paramétricas.

La primera: los parámetros que defina.

La siguiente interfaz de usuario firma como un ejemplo, el código siguiente es el desarrollo local de la interfaz.

# 用户签名
# 鉴权: 签名+时间戳
def user_sign(request):
    if request.method == 'POST':
        client_time = request.POST.get('time','')
        client_sign = request.POST.get('sign','')
        address = request.POST.get('address','')
        print(client_sign,222)
        print(address,333)

    else:
        return '错误'

    if client_time == '' or client_sign == '':
        return '签名为空'

    # 服务器时间
    now_time = time.time()
    server_time = str(now_time).split('.')[0]
    # 时间差
    time_diff = int(server_time) - int(client_time)
    if time_diff >= 60:
        return '请求超时'

    # 签名
    md5 = hashlib.md5()
    sign_str = client_time + '&guest-test'
    # 转换成encode
    sign_bytes_utf8 = sign_str.encode(encoding = 'utf-8')
    md5.update(sign_bytes_utf8)
    server_sign = md5.hexdigest()

    if server_sign != client_sign:
        return '签名失败'
    else:
        return '签名成功'

 

  Como puede verse en el, el método de cifrado más arriba: client_time + '& Guest-test'.

Si la petición está cifrada a la interfaz, la solicitud debe ser por adelantado de los parámetros necesarios en la información cifrada parametrizado, de la siguiente manera:

 

código:

//设置当前时间戳(10位)
postman.setGlobalVariable("time",Math.round(new Date()/1000));
time = postman.getGlobalVariable('time');

//设置KEY_WORD为全局变量
postman.setGlobalVariable("Key","&guest-test");
KEY_WORD = postman.getGlobalVariable("Key");

//字符串进行md5加密
var str = time+KEY_WORD;
var strmd5= CryptoJS.MD5(str).toString();
//signs设置成全局变量,signs
postman.setGlobalVariable("signs",strmd5);
//signss = pm.variables.get('signs')
console.log(time);
console.log(strmd5);

 

Si desea establecer sello de 13 veces, se puede escribir:

//设置当前时间戳(13位)
// postman.setGlobalVariable("time",Math.round(new Date().getTime()));
// time2 = postman.getGlobalVariable('time');

  

 solicitud de interfaz antes de su procesamiento, se colocan Pre-Script solicitud.

Abrir el registro para ver si se adquiere un valor:

 

 

 

{} {} Puede utilizar parámetros de referencia, ver los resultados:

 

 

La segunda: Uso cartero viene con las funciones para parametrizar.

De hecho, este es el mismo que con el anterior, pero el uso de algunas funciones incorporadas.

{{}} $ RandomInt: entre 0 y 1000 para añadir un número entero aleatorio

{{}} $ Marca de tiempo: la fecha y hora actual, actualizada al segundo, mientras que la precisión de milisegundos, aumentó de nuevo a 000

{{}} $ RandomDateRecent: Chino generar un tiempo estándar en el formato: Jue Mar 12 2020 08:15:08 GMT + 0800 (Hora estándar de China)

Utilice la siguiente manera:

 

 

Solicitar ver los resultados del fondo:

El tiempo pasado en randomDateRecent I do de conversión, los formatos de visualización:% Y-% m-% d% H:% M:% S

 

Como puede verse, las funciones integradas rígidos, incapaces de obtener números aleatorios que desea, por lo que podemos escribir el guión mismo.

Tales como:

// 随机字符串
postman.setGlobalVariable("random_username", ("0000" + (Math.random()*Math.pow(36,4) << 0).toString(36)).slice(-4));
console.log(("0000" + (Math.random()*Math.pow(36,4) << 0).toString(36)).slice(-4))
// 0~9999的随机整数
postman.setGlobalVariable("random_number",Math.round(Math.random()*9999));
console.log(Math.round(Math.random()*9999))

 

 

resultados de verificación de antecedentes:

 

id es un entero aleatorio entre 0 y 9999, nombre es una cadena aleatoria de 4 bits.

 

Tercero: El uso de archivos con parámetros, como el cartero jmeter toda la documentación parametrizar los formatos soportados actualmente de archivos: documentos JSON, txt, documentos CSV.

Requisitos previos: En este documento, el archivo txt, por ejemplo, crear datos de prueba en el interior txt, en Eid y nombrar dos campos. Entre la pluralidad de datos separados por comas (coma en Inglés)

Después de subir archivos para ver si el mismo:

 

 

parámetros de referencia y factores de nombre de Eid

 

 

 

 

 

 

 

 

Parámetros de ejecución:

  • Medio Ambiente: elegir para ejecutar el entorno, el medio ambiente es principalmente determinadas variables de entorno;
  • Iteraciones: número de pacientes con iteraciones, que está seleccionado actualmente estas solicitudes tienen que correr un par de veces;
  • Retardo: retardo, para ajustar el tiempo de funcionamiento entre cada solicitud (en milímetros), si se establece, a continuación, una solicitud para ejecutar después de que el tiempo de espera apropiado para ser ejecutado siguiente solicitud;
  • Iniciar respuestas: registro de la respuesta de registro, que es un conjunto de limitación, el valor predeterminado es para registrar toda la solicitud de registro, o pueden estar restringidas sólo para registrar los errores registrados o no;
  • Datos: Seleccione el archivo de datos, que se proporciona enfoque impulsado por los datos del cartero, datos variables utilizadas para la captación de corriente en la solicitud. Soporte de archivos CSV y formato JSON;
  • Mantener valores de las variables: mantener el valor de la variable. Si hay guión Colección para restablecer el valor de la variable de entorno o una variable global, válida sólo cuando el tiempo se acaba por defecto. Si se selecciona esta opción, entonces la variable en la secuencia de comandos para restablecer el valor conservado, es decir, modificar directamente cartero valor predeterminado de la variable;
  • Ejecución de obtención sin utilizar cookies almacenadas: Si se selecciona esta opción, el tiempo no se está ejecutando Colección cartero utilizar el administrador de cookies;
  • Guardar las galletas después de ejecución de obtención: correr, correr durante el almacenamiento de cookies, esta opción está activada de forma predeterminada.

 

Ver resultados:

 

 

 

   Ejecutar el caso de prueba

Después de seleccionar la colección, ejecute el menú Ejecutar a la derecha

 

 

 

 

 

 Ver resultados:

 

 

 

  herramientas de reporte de prueba instalados

  Después de hacer pruebas de la interfaz, resultados de las pruebas tienen que mostrar la salida en forma de informes, cartero también proporciona informes, pero la diferencia es que es necesario instalar las herramientas necesarias --Newman.

Newman se basa en una secuencia de comandos se puede ejecutar el desarrollo del cartero herramienta nodejs, el uso de Newman, y se puede ejecutar directamente desde el conjunto de comandos de prueba cartero.

  nodejs instalación

Descargar: https://nodejs.org/en/download/

 

 

 

 Para ver si la instalación se ha realizado correctamente, de entrada cmd abierta -v nodo

 

 

 

 

  Newman instalación

Nota: nodejs Newman deben guardar en un archivo, que puede ser instalado con éxito, de lo contrario, el error de

 

 

  la instalación del módulo de informes HTML

 

 

En primer lugar, el caso de prueba se deriva del cartero

Crear una carpeta, los casos de uso guían fuera de la tienda directamente a la carpeta que los ha creado, para facilitar las pruebas

 

 

 

 

 

 

  Informe de pruebas del fabricante

cmd abierta, almacenar el caso de uso trayectoria encontrado. Ejecutar los siguientes comandos

1- manera la exportación de casos de prueba:

newman run E:\postman_report\API文档.postman_collection.json

  

 

 

Como puede verse a partir de la figura antes de la ejecución, la iteración 1, 5 solicitudes, fracasos 0.

Informe 2 Método de ensayo genera html:

newman run E:\postman_report\API文档.postman_collection.json -r html

 

 Si esto ocurre, lo que indica que la exportación de caso de prueba JSON no soporta comandos Newman, así que de nuevo una guía.

 

 Ejecutar el comando anterior de nuevo:

 

 Introduzca E: después de \ postman_report encontró ningún informe html, después de una serie de luchas, su apellido archivo sospechoso ha causado chino e Inglés cambiado, realmente exitoso.

Figura:

 

 

 

 Si no se especifica la ruta de almacenamiento informes, se generará una carpeta predeterminada Newman.

Si usted quiere poner un directorio diferente, que puede ser:

E:\postman_report>newman run api.postman_collection.json --reporters html --reporter-html-export E:\postman_report

  

 

 

Ver el informe:

 

 

Este informe no es demasiado simple? Echemos un vistazo bastante generar informes utilizando otras herramientas.

 

  informe de la prima html

Uso htmlextra Suite html generar informes más avanzados
utilizando los mismos métodos y html, es necesario instalar htmlextra, línea de comandos, escriba:

npm install -g newman-reporter-htmlextra

 

Generar informes utilizando el comando:

E:\postman_report>newman run api.postman_collection.json -r htmlextra --reporter-html-export

 

 

 

Ver el informe:

 

 

 

Resumen de la cabeza a través de, Total de solicitudes, pruebas fallidas, pruebas omitidas ver las estadísticas, todas las solicitudes de los casos de fracaso, saltando como casos de uso.

  A continuación, todos los casos de uso:

 Haga clic en cada solicitud se pueden ver en detalle, como se muestra a continuación:

 

 

casos de uso fallidos:

 

 

otros:

veces Set Repetir
Ejemplo: Repetir 10 veces

newman run APITest.postman_collection.json -n 10

 

Ver otros parámetros disponibles

newman run -h

 

 

 

prueba de interfaz cartero es básicamente un contenido total de estas, por supuesto, se puede hacer y una herramienta de integración continua Jenkins.

 

Pequeña palabra de código no es fácil, por favor indique. Bienvenido a los grupos de estudio y desarrollo de las pruebas automáticas de cambio: 696 400 122, preocupado por las pequeñas series, llenos de productos secos para la actualización. Aprender y crecer juntos ~

 

Publicado 82 artículos originales · ganado elogios 43 · vistas 180 000 +

Supongo que te gusta

Origin blog.csdn.net/liudinglong1989/article/details/104872812
Recomendado
Clasificación