uiautomator2, un marco de prueba de automatización de aplicaciones que es mejor que appium

Cuando se trata de pruebas de automatización de aplicaciones, la primera reacción pensará en el framework de appium, que es lo mismo que el selenio en la web, pero para appium, configurar un entorno es muy importante. Muchas personas se desaniman por el entorno y abandonan appium.
El marco de uiautomator2 mencionado a continuación, el entorno es mucho más simple que appium, puede valer la pena aprender

1. Introducción y análisis de principios de uiautomator2

uiautomator2 es una herramienta de código abierto para pruebas automatizadas que solo admite pruebas de aplicaciones nativas en la plataforma Android. Originalmente, era una biblioteca de Java para pruebas automatizadas proporcionada por Google. Más tarde, se desarrolló python-uiautomator2, que encapsuló el marco de prueba uiautomator de Google y proporcionó una interfaz conveniente de Python. Se puede usar para escribir fácilmente scripts de Python para automatizar la aplicación.
Análisis del principio de prueba :
Lado de Python: ejecute el script y envíe la solicitud HTTP al
lado móvil. Lado móvil: instale atx-agent, luego atx-agent inicia el servicio uiautomator2 para escuchar, reconocer el script de Python y convertirlo en código uiautomator2.
El dispositivo móvil recibe la solicitud HTTP de la PC a través de WIFI (mismo segmento de red) o USB, y ejecuta la operación especificada.

2. Instalación

1. Como appium, primero instale adb,
descargue androidsdk y configure las variables de entorno.

2. La instalación de uiautomator2
no es fácil de instalar, se recomienda utilizar la fuente Tsinghua o la fuente Douban para instalar

pip instalar -i https://pypi.tuna.tsinghua.edu.cn/simple --pre -U
uiautomator2

3. Inicialización del dispositivo: primero, el dispositivo se conecta a la PC y los dispositivos adb pueden encontrar el dispositivo.
Estoy usando el simulador de dios de la noche aquí
Inserte la descripción de la imagen aquí

4. Instale atx-agent en el dispositivo y
ejecute python -m uiautomator2 init, y el
simulador de dios nocturno se instalará automáticamente. Es posible que el teléfono real deba hacer clic para aceptar la instalación

3. Verifique que el dispositivo esté conectado correctamente

Primero vea si el dispositivo está conectado al
paquete de guía y cambie el nombre de import uiautomator2 como ut. El
dispositivo conectado es ut.connect ('127.0.0.1:62001')

import uiautomator2 as ut
d=ut.connect('127.0.0.1:62001')
print(d.device_info)

Imprime toda la información de este dispositivo,
Inserte la descripción de la imagen aquí
que muestra que la conexión es exitosa.
A continuación, necesitas ubicar los elementos. Aquí tienes una útil herramienta de posicionamiento: weditor, que no solo puede ubicar en tiempo real, sino también escribir código de depuración en él.

4. Instale el weditor

Ejecutando pip install --pre weditor
puede expirar , aquí se recomienda instalar Douban source, pro test está disponible

pip install -i https://pypi.douban.com/simple weditor


Inserte la descripción de la imagen aquí
Ejecución exitosa de la instalación

python -m weditor

Se abrirá una página web en el navegador.
Inserte la descripción de la imagen aquí
Esto es lo que sucede después de la apertura
Inserte la descripción de la imagen aquí
. Ejecute la aplicación en el simulador, haga clic en Volcar jerarquía y podrá mostrar la pantalla del teléfono en el navegador. Abrir en tiempo real, puede ver en tiempo real

5. Abra la aplicación y escriba el código.

El comando para que uiautomator2 vea la aplicación que se está ejecutando actualmente es uiautomator2 current. Por
ejemplo, cuando abro Toutiao en el simulador y ejecuto uiautomator2 current en cmd,
veré el nombre del paquete y el nombre de la clase actual
Inserte la descripción de la imagen aquí
uiautomator2. Es más fácil abrir la aplicación que appium. Solo usa el método app_start. , Ahora para escribir código en pycharm

d=ut.connect('127.0.0.1:62001')
print(d.device_info)
d.app_start('com.ss.android.article.lite','com.ss.android.article.lite.activity.SplashActivity') #打开app

Quiero hacer clic en la página de inicio de sesión, buscar la ubicación del elemento en weditor y luego usar d (), que es más simple que find_element_by_xpath en appium.
A continuación se muestra el código que escribí

import uiautomator2 as ut
import time
d=ut.connect('127.0.0.1:62001')

print(d.device_info)
d.app_start('com.ss.android.article.lite','com.ss.android.article.lite.activity.SplashActivity') #打开app
d.implicitly_wait(10)
d(text='热榜').click()
d(text='未登录').click()
d(text="登录").click()
d(text="手机号").send_keys('13409012321')
d(text='请输入验证码').send_keys('123456')
d(text='进入头条').click()

Hay métodos más divertidos y útiles en uiautomator2, aprende lentamente y te enamorarás de este marco

Supongo que te gusta

Origin blog.csdn.net/shenshenruoxi/article/details/108632507
Recomendado
Clasificación