1、点击
点击操作:click()
方法。(同Selenium中使用方式一致)
2、清空
清空操作:clear()
方法。(同Selenium中使用方式一致)
3、输入
输入操作:send_keys()
方法。
在移动端的输入操作有两种情况,一种情况是输入非中文内容,另一种情况是输入中文内容。
(1)输入英文
使用方法:
# value:需要发送到输⼊框内的⽂本
send_keys(vaule)
业务场景:
- 打开设置
- 点击搜索按钮
- 输⼊内容abc
代码实现:
# 点击搜索按钮
driver.find_element_by_id("com.android.settings:id/search").click()
# 定位到输⼊框并输⼊abc
driver.find_element_by_id("android:id/search_src_text").send_keys("abc")
# 重点:
# ⼤家可以将输⼊的abc改成输⼊中⽂内容,
# 得到的结果:输⼊框⽆任何值输⼊,且程序不会抱错。
(2)输入中文
1、server 启动参数增加两个参数配置。
也就是Desired capabilities对象添加两个配置参数:
# 启用Unicode输入法,设置为true可以输入中文字符,默认为false
desired_caps['unicodeKeyboard'] = True
# 在设定了`unicodeKeyboard`关键字运行Unicode测试结束后,将键盘重置为其原始状态
# 如果单独使用resetKeyboard参数,代码将会被忽略,
# 因为默认值`false`,重置也的值也是`false`
desired_caps['resetKeyboard'] = True
2、再次运⾏会发现运⾏成功
# 点击搜索按钮
driver.find_element_by_id("com.android.settings:id/search").click()
# 定位到输⼊框并输⼊’显示’
driver.find_element_by_id("android:id/search_src_text").send_keys("显示")
4、综合练习:
"""
1.学习目标
掌握appium元素点击和输入方法
2.操作步骤
2.1 点击 元素.click()
2.2 输入
元素.send_keys("输入内容")
输入会分成两种情况:
1)输入非中文:
send_keys("WLAN")
2)输入中文:
需要在启动参数中添加2个参数
# 启用Unicode输入法,设置为true可以输入中文字符,默认为false
"unicodeKeyboard":True,
# 在设定了`unicodeKeyboard`关键字运行Unicode测试结束后,将键盘重置为其原始状态
"resetKeyboard":True
2.3 清空 元素.clear()
3.需求
在设置APP中进行搜索操作
"""
# 1.导入appium
import time
from appium import webdriver
# 2.创建Desired capabilities对象,添加启动参数
desired_caps = {
"platformName": "Android", # 系统名称
"platformVersion": "7.1.2", # 系统版本
"deviceName": "127.0.0.1:21503", # 设备名称
"appPackage": "com.android.settings", # APP包名
"appActivity": ".Settings", # APP启动名
"unicodeKeyboard": True, # 启用Unicode输入法,设置为true可以输入中文字符,默认为false
"resetKeyboard": True # 在设定了`unicodeKeyboard`关键字运行Unicode测试结束后,将键盘重置为其原始状态
}
# 3.启动APP
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
# 4.定位元素
# 4.1 定位搜索按钮,通过accessibility_id方法,并点击打开
search = driver.find_element_by_accessibility_id("搜索设置")
search.click()
# 4.2 定位搜索输入框
box = driver.find_element_by_id("android:id/search_src_text")
# 4.3 输入内容
# box.send_keys("WLAN") # 输入英文
box.send_keys("abcdef123/*-+;") # 输入非中文
# 清空输入框
time.sleep(3)
box.clear()
# 输入中文
box.send_keys("蓝牙")
# 5.关闭APP
time.sleep(3)
driver.quit()
网友评论