1、点击

点击操作:click()方法。(同Selenium中使用方式一致)

2、清空

清空操作:clear()方法。(同Selenium中使用方式一致)

3、输入

输入操作:send_keys()方法。
在移动端的输入操作有两种情况,一种情况是输入非中文内容,另一种情况是输入中文内容。
(1)输入英文
使用方法:

# value:需要发送到输⼊框内的⽂本
send_keys(vaule)

业务场景:

  1. 打开设置
  2. 点击搜索按钮
  3. 输⼊内容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()