2023 La mejor prueba de automatización de Python en toda la red

1. Información general

1.1 automatización de Python

¿Qué es la automatización de Python? Entiendo que las pruebas automatizadas de Python son un proceso de conversión de pruebas humanas anteriores en pruebas automáticas. Las pruebas automatizadas son una forma de obtener comentarios sobre fallas más rápido que las pruebas manuales.
Las pruebas automatizadas son una forma de garantizar la calidad, y lo más importante es hacer un producto de alta calidad. La mayor parte del trabajo de prueba consiste en equilibrar constantemente la proporción y la profundidad de la calidad, la eficiencia y el impulso del negocio. De acuerdo con las diferentes etapas comerciales, los diferentes objetivos y los impulsores de eventos clave actuales, ajuste constantemente las estrategias y tácticas en términos de calidad, eficiencia y impulsores comerciales.

Al mismo tiempo, también he preparado un video tutorial de prueba de software para todos, justo debajo, puede verlo directamente si lo necesita, o puede hacer clic directamente en la pequeña tarjeta al final del artículo para obtener el documento de información gratis

Vea videos tutoriales gratuitos en:

Un método muy pervertido pero que le permite dominar rápidamente las pruebas automatizadas (Web/automatización de interfaz/APP/Selenium/pruebas de rendimiento, etc.) 、【Pruebas automatizadas】Ideas de diseño de marcos de pruebas automatizadas, un conjunto completo de materiales de prueba de software y rutas de aprendizaje, etc. Para ver videos más emocionantes del maestro UP, preste atención a la cuenta UP. https://www.bilibili.com/video/BV1hj411z71j/?spm_id_from=333.999.0.0&vd_source=74d0257ec7066cc4f9013524f0bb7013

1.2 Envío de correo electrónico

Después de que los evaluadores automatizados de Python completen el trabajo de prueba automatizado del proyecto, deben enviar los resultados del informe de prueba automatizado a la persona a cargo correspondiente para su revisión. Si el evaluador necesita enviar manualmente el informe de la prueba a la persona a cargo después de ejecutar cada prueba automatizada, si ocurre algún evento inesperado durante el proceso de transferencia, el evaluador se olvida de enviar el informe de la prueba a la persona a cargo y la persona a cargo el cargo se retrasará La eficiencia de no poder recibir el contenido de trabajo que desea es muy baja para las personas que se dedican a la industria del software. Por lo tanto, nació la función de push de correo automatizado de python.

La transmisión de correo generalmente se realiza a través del protocolo SMTP, y el protocolo SMTP es un conjunto de reglas para transmitir correo desde las direcciones de origen a las direcciones de destino. En python, el protocolo SMTP simplemente se encapsula a través del módulo smtplib, que realiza una forma conveniente de enviar correos electrónicos y envía correos electrónicos a través del método sendmail de SMTP. Este es un método de transmisión de correo relativamente común, pero esta vez les presentaré un método push de correo encapsulado en el paquete unittestreport. En comparación con el método tradicional, este método de envío por correo electrónico es más conciso y fácil de entender, y es adecuado para secuencias de comandos que utilizan el marco de pruebas unittest. Al utilizar la función automática de envío de correo electrónico de Python, después de que se generan los resultados de la prueba automática, se puede enviar automáticamente un correo electrónico al buzón de la persona a cargo correspondiente, lo que mejora la eficiencia del trabajo.

1.3 Empuje de WeChat empresarial

¿Qué es Enterprise WeChat Push? Empuje de WeChat empresarial significa que los probadores automatizados envían la información de los resultados de la prueba al grupo de prueba de WeChat empresarial donde trabajan después de completar el trabajo de prueba automatizado, para que el personal relevante pueda ver el estado de ejecución de las pruebas automatizadas del proyecto.Esta también es una prueba automatizada oportuna. Un método de compartir resultados.

1.4 Implementación automatizada de Jenkins

¿Qué es Jenkins? Jenkins es un proyecto de software de código abierto. Es una herramienta de integración continua desarrollada en base a Java. Se utiliza para monitorear el trabajo continuo y repetitivo. Su objetivo es proporcionar una plataforma de software abierta y fácil de usar para hacer posible la integración continua del software. .

Entonces, ¿qué es la implementación automatizada de Jenkins? Dado que la característica del trabajo de prueba automatizado es automatizar la prueba de las funciones del sistema en cada iteración de la versión, para descubrir los problemas que pueden ocurrir en el sistema durante el proceso de iteración de la versión, este tipo de trabajo tiene una fuerte repetibilidad. Si cada iteración de la versión requiere que los evaluadores ejecuten manualmente los scripts de automatización, no es bueno para nosotros trabajar en la industria del software, y también es engorroso. Dado que la función de Jenkins es monitorear el trabajo continuo y repetitivo, implementamos el script de prueba automatizado completo en Jenkins y configuramos el temporizador correspondiente, de modo que Jenkins pueda ejecutar automáticamente nuestra prueba de acuerdo con los procedimientos y el tiempo prescritos. productividad.

2. Realización del proyecto

2.1 secuencias de comandos de Python

Esta vez presentaré el script de prueba automatizado basado en la función de adición, eliminación, modificación y consulta de la cuenta de la plataforma de administración en segundo plano de SaaS. El marco de python utilizado por el script es el marco unittest, y el posicionamiento del elemento ui usa el método XPath. Luego, use los métodos push de correo y WeChat corporativo en el paquete unittstreport para enviar convenientemente el informe de prueba al buzón de correo de la persona a cargo y al grupo de WeChat corporativo correspondiente. El método de implementación del script se presentará en detalle a continuación:

Cree un archivo .py en el compilador Pycharm y luego importe los paquetes de archivos que nuestro script necesita usar al principio del archivo py. Dado que nuestras pruebas automatizadas se basan en el marco de Selenium y utilizan el método de posicionamiento de elementos de la interfaz de usuario, debemos importar el paquete de Selenium. El marco de automatización utilizado es unittest, así que importe el paquete unittest. Cuando la secuencia de comandos de automatización se está ejecutando, debemos hacer que la secuencia de comandos se detenga durante el proceso de ejecución para facilitar la observación, por lo que debemos importar el paquete de tiempo.

Coloque el controlador del navegador, maximice el navegador, espere implícitamente y abra la URL de prueba en la función de configuración, porque la función de la función de configuración se ejecuta una vez al llamar a cada nueva función, si se usa esta función, hará que el script esté allí. es un problema con la lógica del posicionamiento del elemento, lo que hace que el script no se ejecute. Entonces, lo que necesitamos es llamar a la función de configuración una vez antes de que se ejecute el script de automatización, por lo que usamos la función setUpClass, que solo se ejecutará una vez durante todo el proceso de ejecución del script de automatización, lo que cumple con nuestras expectativas. Pero debido a que la función setUpClass es una función de clase, si la escribimos en una clase, también hará que la secuencia de comandos se ejecute incorrectamente, por lo que debemos agregar @classmethod delante de la función para declarar que se trata de una función de clase. De manera similar, después de que el script termine de ejecutarse, debemos cerrar la página web abierta automáticamente. Escribimos la función de cerrar la página web en la función de clase tearDownClass.

inserte la descripción de la imagen aquí

Luego codificamos la página de inicio de sesión de SaaS, porque usamos el marco unittest, por lo que la función de escena creada debe comenzar con prueba, y la función de la interfaz de inicio de sesión es test_01_login. Luego, la automatización del inicio de sesión se realiza a través del posicionamiento de los elementos de la interfaz de usuario, y lo mismo se aplica a la posterior adición, eliminación, modificación y escritura del código del entorno de consulta, por lo que no entraré en detalles aquí.

inserte la descripción de la imagen aquí

2.2 Ejecutar el guión

Después de escribir la secuencia de comandos de automatización de la administración en segundo plano de SaaS, debemos escribir un archivo en ejecución para ejecutar esta secuencia de comandos, que llamamos archivo de ejecución. Debido a que nos basamos en el script de automatización escrito por el marco unittest, para facilitar y generar un informe de prueba automatizado con una interfaz hermosa, elegimos aquí el paquete de datos unittestreport, que encapsula una serie de hermosas plantillas de informe de prueba para que los evaluadores elijan .

inserte la descripción de la imagen aquí

Para identificar la versión del informe de prueba generado, usamos el método time.strftime() para agregar una marca de tiempo al informe de prueba. Luego, defina una suite para el almacenamiento temporal de todos nuestros scripts de escenarios de prueba. Entonces, ¿cómo obtenemos los guiones de escena que escribimos antes? Un método es importar el archivo py del script de escena escrito previamente al archivo actual a través de la importación, pero este método es engorroso Si hay muchos archivos py, la eficiencia de nuestro trabajo será muy baja. Así que aquí presentamos otro método, que es
leer la ubicación de nuestro archivo a través del método unittest.defaultTestLoader.discover(). Si la secuencia de comandos se ejecuta localmente, podemos importar la ruta absoluta de la secuencia de comandos, pero si requerimos que la secuencia de comandos se ejecute en otros entornos, no podemos leer la ruta absoluta de la secuencia de comandos, sino cambiarla a una ruta relativa. Debido a que necesitamos implementar el script en gitlab más tarde, lo que escribimos aquí es para leer la ruta relativa del script.

¿Cómo generar un buen informe de prueba automatizado? A continuación, usaremos el método TestRunner() en unittestreport. unittestreport reescribe y encapsula el método TestRunner() en python, solo necesitamos llamar a su TestRunner() para usarlo. La explicación de cada parámetro en TestRunner() se comenta en el código, por lo que no entraré en detalles aquí.

Después de completar los parámetros de la plantilla, el informe de prueba automatizado que necesitamos se puede generar llamando al método de ejecución para ejecutar el script actual usando runner.run().

Acerca de las reservas de tecnología de pruebas automatizadas

Para aprender las pruebas automatizadas de Python, aún necesita un plan de aprendizaje. Finalmente, compartiré información con usted y ayudaré a aquellos que quieran aprender las pruebas automatizadas de Python.

☑ 215 episodios: cero conceptos básicos para dominar un conjunto completo de cursos de video de prueba automatizados
☑ [cursos + código fuente]: tutoriales de apoyo completos
☑ 18 conjuntos: código fuente de proyectos de prueba reales
☑ 37 conjuntos: paquete de software de herramienta de prueba
☑ 268: real preguntas de la entrevista
☑ 200 Plantillas: plantilla de currículum de entrevista, plantilla de plan de prueba, plantilla de informe de prueba de software, plantilla de análisis de prueba, plantilla de plan de prueba, informe de prueba de rendimiento, informe de prueba de rendimiento, plantilla de caso de uso de script de prueba de rendimiento (información completa)

1. Fundamentos de las pruebas de software

Comprender las habilidades básicas de las pruebas, dominar el uso de las principales herramientas de gestión de defectos y ser competente en la operación y el mantenimiento de los entornos de prueba.

inserte la descripción de la imagen aquí

2. Conocimientos necesarios de Linux

Como el sistema de entorno de software más popular, Linux debe ser dominado.Los requisitos de contratación actuales requieren capacidades de Linux.

inserte la descripción de la imagen aquí

3. Guión de shell

Script maestro de Shell: incluye los conceptos básicos y la aplicación de Shell, control de lógica de Shell, función de lógica de Shell

inserte la descripción de la imagen aquí

4. Principios de los programas de Internet

La única forma de automatizar: el conocimiento básico del desarrollo front-end y el conocimiento necesario de la red de Internet 4. Principios de los programas de Internet

inserte la descripción de la imagen aquí

5. Base de datos MySQL

Los ingenieros de prueba de software deben tener conocimiento de la base de datos MySQL, no solo la "adición, eliminación, modificación y consulta" básicas.

inserte la descripción de la imagen aquí

6. Herramienta de captura de paquetes

Fiddler, Wireshark, Sniffer, Tcpdump y varias herramientas de captura de paquetes son adecuadas para varios proyectos, siempre hay una que se adapta a ti

inserte la descripción de la imagen aquí

7. Herramientas de prueba de interfaz

Artefacto de prueba de interfaz, una herramienta poderosa que no puede evitar: Jmeter. Pequeño y flexible: cartero

inserte la descripción de la imagen aquí

8. Prueba de automatización web Java y Python

Comprender el propósito de la automatización, dominar el marco de automatización de TestNG y unittest, y el procesamiento de aserción y registro

inserte la descripción de la imagen aquí

9. Automatización de interfaces y terminales móviles

Soluciones profesionales de llamadas y pruebas de interfaz. Cree un marco completo de automatización de interfaz y web, y use Appium como un todo

inserte la descripción de la imagen aquí

10. Pruebas ágiles y construcción de TestOps

Revelando el misterio de TestOps, la integración continua del marco Jenkins es familiar

inserte la descripción de la imagen aquí

11. Prueba de rendimiento y prueba de seguridad

El otro lado de las pruebas de software: pruebas de rendimiento y pruebas de seguridad, elija una dirección y trabaje duro para escalar el hoyo.

inserte la descripción de la imagen aquí

Usa razonablemente cada minuto y cada segundo de tiempo para aprender a mejorar, ¡y no uses la razón de "no hay tiempo" para encubrir tu pereza ideológica! ¡Mientras seas joven, trabaja duro y dale una explicación a tu futuro yo!

 

Supongo que te gusta

Origin blog.csdn.net/HUA1211/article/details/132299629
Recomendado
Clasificación