Mi información de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
La serie de pruebas automatizadas de Python + Appium está llegando a su fin. Hagamos un resumen en este blog.
En primer lugar, quiero explicar que es posible que muchas empresas no utilicen las pruebas automatizadas de aplicaciones, pero también son requeridas por la mayoría de la información de contratación de trabajo de ingenieros de pruebas automatizadas e ingenieros de pruebas senior, por lo que para obtener un mejor tratamiento, aún necesitamos Dedica tiempo a dominarlo. Después de todo, ¿quién? Tampoco tendré problemas con el dinero.
A continuación, resumamos las ideas para las pruebas automatizadas de la interfaz de usuario de la aplicación.
1. Selección del idioma de desarrollo
Los lenguajes de programación comúnmente utilizados para pruebas automatizadas incluyen: Python, Java, Javascript, Ruby, C#, PHP, etc. Generalmente, elegiremos un lenguaje de programación con el que estemos familiarizados para escribir scripts automatizados, pero para los niños que básicamente no tienen ninguna base de programación (o los niños que se centran en las pruebas automatizadas), se recomienda aprender a usar Python.
En comparación con otros lenguajes, Python tiene las siguientes ventajas para las pruebas automatizadas:
Para los principiantes, Python tiene una sintaxis concisa, es muy legible y fácil de aprender.
Existen potentes bibliotecas de terceros que hacen que las secuencias de comandos sean más eficientes.
El marco de pruebas automatizadas Pytest en Python es uno de los marcos de pruebas más populares actualmente.
2. Selección del marco de prueba de UI
Después de elegir un lenguaje de desarrollo, debemos elegir un marco de prueba de UI. Actualmente, los marcos de prueba de automatización de UI de aplicaciones más convencionales o más utilizados incluyen Appium, Airtest, etc.
1, Apio
Fuente abierta
El servidor Appium admite la ejecución en Windows, macOS y Linux
Admite múltiples lenguajes de programación convencionales, como Python, Java, Javascript, Ruby, etc.
Admite pruebas automatizadas de Android, ios, H5 (UiAutomator integrado, marco UiAutomation)
La construcción del entorno es más complicada.
2, Prueba de aire
Desarrollado por NetEase (documento oficial), solo admite lenguaje Python
Proporciona un potente IDE que integra los marcos de prueba Airtest y Poco, que es muy amigable para los principiantes.
Integre airtest, un marco de prueba automatizado de UI basado en el reconocimiento de imágenes, para que pueda escribir scripts automatizados incluso si no comprende el código.
Multiplataforma, puede realizar pruebas automatizadas de software de aplicaciones de Windows, Android e iOS.
Más amigable para las pruebas de juegos
Airtest y Poco son esencialmente dos bibliotecas de terceros para Python. El entorno de prueba no es tan complicado como Appium.
3. Seleccione el marco
Elija un marco apropiado en función de la situación real.
Puede dar prioridad al Airtest de NetEase (sitio web oficial de Airtest) en las siguientes situaciones:
Sin base de programación
Pruebas de juegos
El escenario de prueba es relativamente simple (Appium es relativamente voluminoso)
Automatización del mini programa Alipay (el blogger actualmente utiliza el marco Poco integrado con Airtest para realizar pruebas automatizadas del mini programa Alipay)
Se recomienda elegir Appium en las siguientes situaciones:
El escenario de prueba es relativamente complejo (por ejemplo, se requieren pruebas por lotes de varios teléfonos móviles)
El lenguaje del script de prueba no es Python (Airtest actualmente solo admite Python)
3. Selección del marco de pruebas unitarias
A diferencia del marco de prueba de UI mencionado anteriormente, el marco de prueba unitaria se utiliza para cargar casos de prueba, ejecutar casos de prueba, afirmar, generar resultados de pruebas, etc.
Los diferentes lenguajes de desarrollo tienen sus propios marcos de prueba unitarios correspondientes, como JUnit, TestNG, Robot, etc. para Java, y unittest, pytest, etc. para Python. Los bloggers usan Python principalmente para pruebas automatizadas, por lo que aquí solo explicamos el marco de pruebas unitarias de Python.
Marco de pruebas unitarias principal de Python:
unittest, el marco de pruebas unitario propio de Python
Pytest, desarrollado en base a unittest, es fácil de usar, tiene información más detallada y tiene muchos complementos.
Robot Framework, un marco de prueba basado en palabras clave basado en Python, con una interfaz, informes y registros integrados, funciones completas, claras y hermosas.
Se recomienda encarecidamente utilizar pytest aquí, que es potente y fácil de usar. La documentación oficial está en inglés, consulte el manual del usuario de Pytest.
4. Configuración del entorno de prueba
1. Pruebe la selección de la computadora
Si es posible, se recomienda utilizar una máquina Mac específicamente para las pruebas de automatización de la interfaz de usuario, ya que la automatización de la interfaz de usuario de la aplicación iOS solo se puede realizar en una máquina Mac.
2. Pruebe la selección del teléfono móvil
Cuando comience a depurar scripts de prueba, puede elegir un emulador. Para los emuladores de Android, puede elegir el emulador Gernymotion o Yeshen.
Una vez completado el desarrollo de todo el proyecto de prueba, se recomienda cambiar a una máquina real para ejecutar el script automatizado, que se acercará más al escenario de uso real del usuario.
3. Entorno del lenguaje de desarrollo
Se recomienda instalar una versión de Python 3 o superior. El funcionario dejó de actualizar y mantener la versión de Python2.
4. Construcción del entorno del marco de pruebas de automatización de la interfaz de usuario
Crear Appium en el entorno Windows es un poco más complicado. Escribiré un blog para compartirlo más adelante.
Si elige el marco Airtest, consulte el sitio web oficial.
5. Escritura de guiones
1. Escribe una demostración de prueba.
Para verificar si todo el entorno de prueba se creó correctamente y si se pueden ejecutar ejemplos comunes, generalmente necesitamos escribir un script de prueba simple y ejecutarlo. Si pasa, significa que todo el entorno se creó correctamente.
2. Determinar la estructura del directorio.
Se recomienda utilizar el patrón de diseño de objetos de página para desarrollar proyectos de prueba de automatización de la interfaz de usuario de la aplicación.
3. Seleccione el informe de prueba.
Diferentes lenguajes de desarrollo y diferentes marcos de pruebas unitarias pueden utilizar diferentes informes de prueba. En Python, el marco unittest utiliza HTMLTestRunner o BSTestrunner para generar informes de prueba. El marco Pytest utiliza pytest-html para generar informes o personalizar informes de prueba a través de allure.
Una vez completados los pasos anteriores, continúe agregando casos de prueba al proyecto de prueba.
6. Integración de Jenkins
Una vez que todo el proyecto de prueba de automatización de la interfaz de usuario de la aplicación esté escrito de acuerdo con los pasos anteriores y se ejecute de manera estable durante un período de tiempo, puede considerar integrar Jenkins.
7. Resumen
En resumen, la automatización de la interfaz de usuario de la aplicación se puede implementar de las siguientes maneras:
1, python + appium + unittest + HTMLTestRunner
2, python + appium + pytest + pytest-html / atractivo
3, Python + Airtest (Airtest IDE)
4, python + Poco + pytest + pytest-html / atractivo
Puede elegir según la situación real.
Finalmente, quiero agradecer a todos los que leen mi artículo con atención. La reciprocidad siempre es necesaria, aunque no es algo muy valioso, pero si puedes usarla, puedes tomarla directamente:
Esta información debería ser el almacén de preparación más completo y completo para los amigos [de pruebas de software]. ¡Este almacén también ha acompañado a decenas de miles de ingenieros de pruebas en el viaje más difícil!