Automatización de Appium+python (trece) - entrada en chino - un registro de llenado de pozos (explicación súper detallada)

Introducción

    No importa dónde estés, encontrarás muchos pozos en lo que estás haciendo. Algunos de estos pozos son cavados por otros y otros por ti mismo. Los que son cavados por otros se llaman tramposos, los que cavan solos se llaman suicidas, y los que son cavados por sus hijos se llaman tramposos. Por lo tanto, no será fácil navegar en el camino hacia la automatización de aplicaciones. Pisarás muchos pozos. Estos pozos y tú eres el ritmo de la vida y la muerte. O los pozos te enterrarán, o tú los llenarás. Debido a que todos somos chinos de piel amarilla y la mayoría de ellos usa aplicaciones chinas, mientras que otros extranjeros son todos de piel clara y ojos azules y usan aplicaciones en inglés, por lo que este problema puede ignorarse. No podemos, tenemos que afrontarlo. Entonces, antes que nada, ¡necesitamos llevar a nuestros amigos para resolver el problema de la entrada china! 

Lo lejos que puedas llegar depende de qué tan fuerte sea tu habilidad para llenar agujeros.

Vi una foto en Weibo:

01

En su plan, los objetivos futuros son claramente visibles y hay un camino suave en el medio, que se puede lograr sin problemas con un poco de esfuerzo.

¿Pero en realidad?

Viento y lluvia, paredes empinadas, abismo... el camino es difícil y peligroso, y hay pozos por todas partes. Lo más importante es que hay todas las dificultades hasta donde alcanza la vista, incluso la sombra del objetivo es invisible. !

¡Se puede decir que es muy vívido! ¿No es así nuestra vida?

El camino del crecimiento siempre está lleno de varios "agujeros", y lo lejos que puedas llegar depende de cuán fuerte sea tu habilidad para "llenar los agujeros".

02

"¿Por qué siempre sales del trabajo tan tarde?"

"Porque hay demasiados errores que arreglar".

"Entonces, ¿por qué otros colegas de tu grupo salen temprano del trabajo? ¿No puedes irte solo?"

"De ninguna manera, no pueden arreglar errores demasiado complicados, tengo que resolverlos, de lo contrario, ¿por qué mi salario mensual es de 20,000 y ellos solo tienen 10,000?"

"……Está bien."

Sí, así es en el trabajo.

La persona que se encuentra con un problema y puede resolverlo, siempre será la persona más necesitada, y por ser necesaria e indispensable, puede obtener un salario alto y lograr un mejor desarrollo personal.

Errores que no se pueden arreglar, clientes con los que no se puede tratar, proyectos que no se pueden negociar... Habitualmente recurrimos a nuestros superiores en busca de ayuda, y esto parece explicar por qué él es el superior. Porque él puede resolver problemas que nosotros no podemos.

En el lugar de trabajo, su competitividad central radica en su capacidad para "llenar agujeros", ya sea que pueda llenar agujeros que otros no pueden.

  Bueno, la historia terminará aquí. Más cerca de casa, este artículo tomará el pozo de entrada chino de suspenso en el frente, y llevará a los amigos a llenarlo y KO.

  Idea: al proteger el teclado en pantalla y pasar por alto el método del teclado en pantalla del teléfono móvil, se resolverá el problema de la entrada en chino.

1. Búsqueda de ubicación

1. Abra el botón de búsqueda de Taobao e ingrese a la página de búsqueda

2. Luego ubique el cuadro de búsqueda y use el método sendkeys para ingresar "hongge". Aquí, puede usar la herramienta uiautomatorviewer mencionada en el cuarto capítulo para ubicar el elemento.

3. Código de ejemplo

4. Después de ejecutar, el proceso de ejecución de Yeshen Simulator, appium y código es el siguiente (pinyin o inglés), verifique cuidadosamente si el cuadro de búsqueda ha ingresado: hongge pinyin

5. Código de referencia

 1 # coding=utf-8
 2 # 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
 3 
 4 # 2.注释:包括记录创建时间,创建人,项目名称。
 5 '''
 6 Created on 2019-7-04
 7 @author: 潇潇说测试
 8 Project:学习和使用appium自动化测试-输入中文 - 一次填坑记
 9 '''
10 # 3.导入模块
11 from appium import webdriver
12 import time
13 desired_caps = {}
14 desired_caps['platformName'] = 'Android'   #android的apk还是IOS的ipa
15 desired_caps['platformVersion'] = '8.0'  #android系统的版本号
16 desired_caps['deviceName'] = '127.0.0.1:62001'    #手机设备名称,通过adb devices  查看
17 desired_caps['appPackage'] = 'com.taobao.taobao'  #apk的包名
18 desired_caps['appActivity'] = 'com.taobao.tao.welcome.Welcome'  #apk的launcherActivity
19 #desired_caps['unicodeKeyboard'] = True   #使用unicodeKeyboard的编码方式来发送字符串
20 #desired_caps['resetKeyboard'] = True   #将键盘给隐藏起来
21 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) #启动服务器地址,后面跟的是手机信息
22 # 休眠五秒等待页面加载完成
23 time.sleep(5)
24 driver.find_element_by_id("com.taobao.taobao:id/home_searchedit").click()
25 time.sleep(3)
26 driver.find_element_by_id("com.taobao.taobao:id/searchEdit").click()
27 
28 driver.find_element_by_id("com.taobao.taobao:id/searchEdit").send_keys(u"hongge")

2. Ejecute el script

1. En primer lugar, debe confirmar qué método de entrada se utiliza para el método de entrada en el teléfono móvil. Si el método de entrada predeterminado es chino, aparecerá la siguiente situación después del inicio y la entrada no se puede realizar correctamente.

    2. Entonces, primero puede cambiar el método de entrada en el teléfono móvil a inglés, para que pueda ingresar cadenas en inglés. Entonces, la pregunta es, ¿qué sucede si desea ingresar una cadena de caracteres chinos? Cómo resolver. . .

3. Proteja el teclado virtual

1. A través de las operaciones anteriores, probablemente pueda saber que la cadena de entrada en la aplicación se ingresa llamando al teclado virtual. ¿Hay alguna manera de enviar teclas directamente para omitir la entrada del teclado como lo hace Selenium cuando se realiza la automatización web?

2. Para que pueda encontrar una manera de proteger el teclado virtual, simplemente agregue dos parámetros en la configuración de mayúsculas deseadas{} (nota, atención, atención, ¡vea aquí si puede llenar el agujero!), Si sigue el pequeño El socios simplemente eliminen los comentarios, eso es todo.

3. UnicodeKeyboard es para usar la codificación Unicode para enviar cadenas

4. resetKeyboard es para ocultar el teclado

4. Introduzca caracteres chinos

1. Cambie el código anterior para ingresar chino u "Xiaoxiao dijo prueba", luego ejecute el script y verifique el resultado en el teléfono móvil. (Python2 Chinese debe estar precedido por una u, y python3 puede ignorarse)

2. Después de la ejecución, el proceso de ejecución del simulador, appium y código de Yeshen es el siguiente: Verifique cuidadosamente si se ingresó el cuadro de búsqueda: Xiaoxiao dijo probar los caracteres chinos

5. Código de referencia

# coding=utf-8
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行

# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2019-7-04
@author: 潇潇说测试
Project:学习和使用appium自动化测试-输入中文 - 一次填坑记
'''
# 3.导入模块
from appium import webdriver
import time
desired_caps = {}
desired_caps['platformName'] = 'Android'   #android的apk还是IOS的ipa
desired_caps['platformVersion'] = '8.0'  #android系统的版本号
desired_caps['deviceName'] = '127.0.0.1:62001'    #手机设备名称,通过adb devices  查看
desired_caps['appPackage'] = 'com.taobao.taobao'  #apk的包名
desired_caps['appActivity'] = 'com.taobao.tao.welcome.Welcome'  #apk的launcherActivity
desired_caps['unicodeKeyboard'] = True   #使用unicodeKeyboard的编码方式来发送字符串
desired_caps['resetKeyboard'] = True   #将键盘给隐藏起来
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) #启动服务器地址,后面跟的是手机信息
# 休眠五秒等待页面加载完成
time.sleep(5)
driver.find_element_by_id("com.taobao.taobao:id/home_searchedit").click()
time.sleep(3)
driver.find_element_by_id("com.taobao.taobao:id/searchEdit").click()

driver.find_element_by_id("com.taobao.taobao:id/searchEdit").send_keys(u"潇潇说测试")

6. Resumen

1. Si el teléfono móvil encuentra caracteres chinos ilegibles al ingresar caracteres chinos:

2. Solución: agregue "#-* -codificación: gb18030-* -" al frente, como se muestra en la figura a continuación:


3. Restaurar configuración

(1) Después de ejecutar el script anterior, descubrí que el teclado en pantalla no se puede abrir cuando se ingresa manualmente. ¿Cómo restaurarlo?

(2) Abra la configuración del teléfono, busque la opción de configuración del método de entrada y encontrará que el método de entrada predeterminado se ha cambiado al método de entrada appium. Así que simplemente restaure la configuración aquí al método de entrada original y estará bien.

  En el camino para lograr la meta, es normal encontrar hoyos, lo que es más importante que llorar en los hoyos es aprender a llenar los hoyos y seguir adelante. Finalmente, deseo que todos los amigos llenen el pozo sin problemas, ¡todos son pequeños expertos en llenar el pozo! ! !


              [El siguiente es el diagrama de sistema de arquitectura de conocimiento de aprendizaje de ingeniero de prueba de software más completo en 2023 que compilé]


1. De la entrada al dominio de la programación en Python

2. Proyecto de automatización de interfaz de combate real.

3. Combate real del proyecto de automatización web


4. Combate real del proyecto de automatización de aplicaciones

5. Hoja de vida de los fabricantes de primer nivel


6. Probar y desarrollar el sistema DevOps

7. Herramientas de prueba automatizadas de uso común


Ocho, prueba de rendimiento JMeter

9. Resumen (pequeña sorpresa al final)

la vida es larga así que agregue aceite. Cada esfuerzo no será defraudado, mientras perseveres, habrá recompensas al final. Valora tu tiempo y persigue tus sueños. No olvides la intención original, sigue adelante. ¡Tu futuro está en tus manos!

La vida es corta, el tiempo es precioso, no podemos predecir lo que sucederá en el futuro, pero podemos captar el momento presente. Aprecia cada día y trabaja duro para hacerte más fuerte y mejor. Creencia firme, búsqueda persistente, ¡el éxito eventualmente te pertenecerá!

Solo desafiándote constantemente a ti mismo puedes superarte constantemente. Persista en perseguir sus sueños y avance con valentía, y descubrirá que el proceso de lucha es tan hermoso y valioso. ¡Cree en ti mismo, puedes hacerlo!

Supongo que te gusta

Origin blog.csdn.net/NHB456789/article/details/131808141
Recomendado
Clasificación