4.Appium中查找元素的两种方式

本文介绍了在Appium自动化测试中查找页面元素的两种方式:一是使用uiautomatorviewer,其优点是操作简便,但存在兼容性问题;二是利用Appium自身功能,步骤包括adb设备连接、启动Appium、开始Inspector Session等,虽然稍复杂,但适用于不同Android版本和动态页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        在做自动化之前,我们需要先找到元素,而查找页面元素有两种方式。一是通过AndroidSDK自带的uiautomatorviewer.bat查看页面元素;二是通过Appium自带的功能查看页面元素

详情请点击 https://study.163.com/course/introduction/1209833813.htm 查看

1.Uiautomatorviewer查看

 adb链接设备后,直接双击uiautomatorviewer.bat即可,uiautomatorviewer.bat在Andriod_SDK\tools目录下

    uiautomatorviewer查看的优缺点:

       优点:使用方便,不需要参数

       缺点:兼容性不好,对于不同的android版本可能存在兼容性问题;对于一些动态页面的查看效果不好

2.Appium查看页面元素

     appium查看页面元素的步骤

### Appium 元素定位方法 #### ID 定位 ID 是最常用也是效率最高的定位方式之一。通过唯一标识符来查找元素,这种方式不仅快速而且稳定。 ```java driver.findElement(By.id("com.example:id/button")); ``` 此代码片段展示了如何利用 `By.id` 方法找到具有特定 ID 的按钮组件[^1]。 #### Class Name 定位 当应用中的多个视图共享相同的类名时可以采用此类方式进行筛选。需要注意的是,在复杂界面下可能会返回多个匹配项,因此可能需要进一步限定条件以确保准确性。 ```java List<WebElement> elements = driver.findElements(By.className("android.widget.EditText")); elements.get(0).sendKeys("input text"); ``` 这段 Java 代码说明了怎样选取第一个编辑框并输入文字[^2]。 #### XPath 定位 XPath 提供了一种灵活的选择机制,允许基于属性值或其他特征精确定位单个或一组节点。对于那些难以用简单选择器表达的情况特别有用。 ```xml // 使用绝对路径 WebElement element = driver.findElement(By.xpath("/hierarchy/android.widget.FrameLayout[1]/...")); // 或者相对路径配合属性过滤 WebElement element = driver.findElement(By.xpath("//android.widget.TextView[@text='Login']")); ``` 这里给出了两种不同类型的 XPath 表达式的例子:一种是指定完整层次结构;另一种则是仅指定目标标签及其特性。 #### UI Automator 定位 UIAutomator Viewer 工具可以帮助开发者更好地理解应用程序的布局,并构建更精确的选择器字符串用于测试框架中。它支持按文本、资源 id 和其他可见属性来进行查询。 ```java UiSelector().resourceId("com.package.name:id/resource_id").click(); ``` 上述命令演示了调用 UiSelector 来点击某个带有给定 resourceId 的控件的操作[^4]。 #### Accessibility Id (Content Description) 定位 这种方法适用于 Android 平台上的无障碍服务功能。如果界面上某些不可见但可交互的对象没有合适的视觉表示,则可以通过设置 contentDescription 属性实现间接访问。 ```java driver.findElement(MobileBy.AccessibilityId("Settings")).click(); ``` 该语句实现了依据 accessibility id 找到名为 "Settings" 的项目并触发其点击事件的功能。 --- 为了提高定位成功率和稳定性: - 尽量优先考虑使用 ID 或者 Content Description 这样的独特标志作为首选方案; - 对于动态变化的内容(比如列表项),尝试结合 index 参数或者自定义谓词逻辑缩小范围; - 面向 H5 页面内的 Web 组件时切换上下文至 WebView 模式再继续下一步骤[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术提高效率

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值