Basado Interfaz Python + de prueba automatizada de datos de marco y de la separación del código (capítulo avanzada) con el código fuente

directorio

1, Introducción
1, las ideas del diseño del marco
2, la estructura de bastidor
3, ejecute el programa
4, el módulo de mensaje
5, el resultado de la prueba está escrito Excel
6 resume
7, la fuente de adquisición

introducción

En el anterior "interfaz basada en Python para marco de pruebas automatizadas (artículos primarios) con el código fuente" hablado de marco de pruebas automatizado para crear una interfaz, la función principal del módulo de inicialización es poner a prueba la base de datos, mirada en el marco anterior:
Aquí Insertar imagen Descripción
Como se puede ver caso_prueba hay muchos bajo prueba, y cada caso de prueba dirección de solicitud, los parámetros de solicitud, datos de la clase solicitud por escrito, hay algunas afirmaciones de datos. Si la interfaz de un montón de palabras, por lo que cada caso debe escribir para escribir, dando lugar a finales del gran volumen de trabajo, un inconveniente de mantenimiento.

Por lo anterior, la introducción de un pitón muy fácil de usar terceros bibliotecas DDT, su papel es impulsado por los datos, la separación de los datos y el código, puede poner todas las interfaces asociadas casos de prueba los datos almacenados en Excel, y luego mantener una API de archivos, por lo no es necesario escribir una gran cantidad de casos código.

Marco ideas de diseño

1. El flujo de proceso es sustancialmente:

Aquí Insertar imagen Descripción

2. Interfaz procesos marco de automatización de pruebas:

  • En primer lugar, los datos de prueba para inicializar, mantener los datos de negocio a la base de datos, que es el primer paso en la pantalla
  • El segundo paso, un conjunto de datos de prueba de mantenimiento interfaces de Excel (casos de uso de identificación, método de petición, parámetros de la petición, el encabezado de la solicitud, el tipo de solicitud, de datos de retorno, resultados de pruebas, etc.).
  • Sólo escribir una API del marco de prueba de código de llamada, el segundo paso de leer los datos de prueba de mantenimiento de la interfaz, y envía una solicitud al sistema bajo prueba, que es el tercer paso en la figura.
  • Cuando la interfaz de llamada, consulta la base de datos, es el cuarto paso.
  • El marco de pruebas para la interfaz de datos de retorno y los datos de Excel, y genera el resultado final del ensayo está escrito en Excel y generar informes de las pruebas.

Proceso general: inicialización de los datos de prueba leídos solicitud de transmisión de datos → → → resultado de la prueba de prueba de escritura generar informes de prueba → → enviar un mensaje de prueba.
diagrama de flujo

estructura de trama

Aquí Insertar imagen Descripción
Aquí no se repetirá, puede hacer referencia a los artículos primarios, compara.

Ejecutar el programa

...............
Time Elapsed: 0:00:01.106878
邮件发送成功!

Aquí Insertar imagen Descripción
El lado derecho de la tarta de ratón es poner el zoom automáticamente.

módulo electrónico

import os,sys
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
from config import setting
import smtplib
from main.newReport import new_report
import configparser
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart


def send_mail(file_new):
    """
    定义发送邮件
    :param file_new:
    :return: 成功:打印发送邮箱成功;失败:返回失败信息
    """
    f = open(file_new,'rb')
    mail_body = f.read()
    f.close()
    #发送附件
    con = configparser.ConfigParser()
    con.read(setting.TEST_CONFIG,encoding='utf-8')
    report = new_report(setting.TEST_REPORT)
    sendfile = open(report,'rb').read()
    # --------- 读取config.ini配置文件 ---------------
    HOST = con.get("user","HOST_SERVER")
    SENDER = con.get("user","FROM")
    RECEIVER = con.get("user","TO")
    USER = con.get("user","user")
    PWD = con.get("user","password")
    SUBJECT = con.get("user","SUBJECT")

    att = MIMEText(sendfile,'base64','utf-8')
    att["Content-Type"] = 'application/octet-stream'
    att.add_header("Content-Disposition", "attachment", filename=("gbk", "", report))

    msg = MIMEMultipart('related')
    msg.attach(att)
    msgtext = MIMEText(mail_body,'html','utf-8')
    msg.attach(msgtext)
    msg['Subject'] = SUBJECT
    msg['from'] = SENDER
    msg['to'] = RECEIVER

    try:
        server = smtplib.SMTP()
        server.connect(HOST)
        server.starttls()
        server.login(USER,PWD)
        server.sendmail(SENDER,RECEIVER,msg.as_string())
        server.quit()
        print("邮件发送成功!")
    except Exception as  e:
        print("失败: " + str(e))

Después de ejecutar el código:
Aquí Insertar imagen Descripción

Resultados de la prueba escrita Excel

Informes y correo electrónico que tiene, mire los resultados de la prueba a escribir de nuevo los datos en Excel:
Aquí Insertar imagen Descripción

resultados consistentes y resultados de informe de prueba.

resumen

    Este desarrollo marco de pruebas de interfaz automatizado es sustancialmente completa, ddt Este artículo describe el uso de por datos, implementados por separado de los datos de prueba y el patrón de código de prueba, con el fin de mejorar la legibilidad, la eficiencia y reducir los costes de mantenimiento.
    Una cosa más, este caso de prueba la interfaz es básicamente ninguna relación, si hay un asocia superior e inferior, no se puede escribir, o de lo contrario la primera interfaz falla, todo falle el trasero básica. Así que la prueba no sólo se aplica a las interfaces de arriba y abajo dependencias.
    A pesar de que el código se ha completado, hay algunos detalles del lugar debe ser optimizado, como el registro, reporte de limpieza automática, programada para enviar un mensaje, la integración Jenkins y así sucesivamente.

fuente Obtiene

Fuente ha acogido gitee, acceso: Únete a prueba de grupo de intercambio de desarrollo QQ: 696 400 122
número público de micro-canales: full-stack diario de desarrollo de la prueba,
el blog Park Dirección: Blog Jardín Dirección
Aquí Insertar imagen Descripción

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

Supongo que te gusta

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