Appium 常用 API

发布于:2025-07-16 ⋅ 阅读:(20) ⋅ 点赞:(0)

1. 定位方式

语法:find_element_by_定位方式(定位表达式)

通过 id 定位

两种定位表达式都可以:

driver.find_element_by_id("com.xsteach.appedu:id/rl_home_top_search")
driver.find_element_by_id("rl_home_top_search")

通过 class_name 定位

取 class 的内容:

# 方式1
driver.find_element_by_class_name("android.widget.TextView")

# 方式2
driver.find_elements_by_android_uiautomator('new UiSelector().className("android.widget.TextView")')[2].click()

通过 xpath 定位

driver.find_element_by_xpath("//android.widget.RadioButton[@text='个人中心']")

通过 text 定位

需要使用 uiautomator 的定位方式:

# 获取单个text元素对象
driver.find_element_by_android_uiautomator("new UiSelector().text(\"个人中心\")")

# 获取多个text元素对象并使用索引
driver.find_elements_by_android_uiautomator("new UiSelector().text(\"个人中心\")")[0].click()

# 部分文字匹配
driver.find_element_by_android_uiautomator('new UiSelector().textContains("中心")').click()

# 正则匹配
driver.find_element_by_android_uiautomator('new UiSelector().textMatches(".*的课程.*")').click()

通过 css_selector 定位

只适用于 webview 的 html 页面,继承自 webdriver,与 pc 版本的 UI 测试一致。

driver.find_element_by_css_selector()

通过 link_text 定位

只适用于 webview 的 html 页面,继承自 webdriver,与 PC 版本的 UI 测试一致。

driver.find_element_by_link_text()

通过 name 定位

webview 容器中的 html 页面可以用 name 定位,native 并没有 name 属性。

driver.find_element_by_name()</

网站公告

今日签到

点亮在社区的每一天
去签到