『与善仁』Appium基础 — 21、元素的基本操作

1、元素的基本操作说明

(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)输入中文

server启动参数增加两个参数配置。

也就是Desired capabilities对象添加两个配置参数:

# 启用Unicode输入法,设置为true可以输入中文字符,默认为false
desired_caps['unicodeKeyboard'] = True

# 在设定了`unicodeKeyboard`关键字运行Unicode测试结束后,将键盘重置为其原始状态  
# 如果单独使用resetKeyboard参数,代码将会被忽略,
# 因为默认值`false`,重置也的值也是`false`
desired_caps['resetKeyboard'] = True

再次运行会发现运行成功。

# 点击搜索按钮
driver.find_element_by_id("com.android.settings:id/search").click()

# 定位到输入框并输入’显示’
driver.find_element_by_id("android:id/search_src_text").send_keys("显示")

2、综合练习

"""
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()
posted @ 2021-12-11 17:08  繁华似锦Fighting  阅读(179)  评论(0编辑  收藏  举报