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:
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:
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.
estructura de trama
Aquí no se repetirá, puede hacer referencia a los artículos primarios, compara.
Ejecutar el programa
...............
Time Elapsed: 0:00:01.106878
邮件发送成功!
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:
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:
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