程序员开发实例大全宝库

网站首页 > 编程文章 正文

Appium自动化测试入门教程No.8——定位控件

zazugpt 2024-08-10 22:43:23 编程文章 23 ℃ 0 评论

Appium 通过 uiautomatorviewer.bat 工具来查看控件的属性。该工具位于 Android SDK 的 /tools/bin/ 目录下。

常用的Appium定位控件有如下:

一、name 定位

打开uiautomatorviewer.bat工具:

使用方法:

driver.findElement(By.name("9"))

二、id 定位

通过uiautomatorviewer.bat 工具可以查看对象的id属性。

如果目标设备的API Level低于18则UIAutomatorViewer不能获得对应的Resource ID,只有等于大于18的时候才能使用。

打开uiautomatorviewer.bat工具:

resource-id 就是我们理解的id属性了。

使用方法:

driver.findElement(By.id("com.android.calculator2:id/formula"))

三、Class name 定位

计算器界面上的的class属性是:android.widget.Button。 使用方法:

WebElement button = driver.findElement(By.className("android.widget.Button"));

使用 Class Name 一般获得的 view 都不止一个,所以应该需要遍历一遍得到的 views,然后缩小搜索条件来获得目标控件。

四、XPath定位

在 WebDriver 上 XPath 定位是功能强大的一种定位方式。我个人惯用于此方法来定位Web页面上的元素。下面看看在 Android 上 XPath 定位的用法。

五、Accessibility ID定位

这个方法属于Appium扩展的定位方法。

其实,我们的核心是要找到元素的contentDescription属性。它就是元素的 content-desc 。

使用方法: java driver.findElementByAccessibilityId("plus").click();

六、Android uiautomator定位

这个方法也属于 Appium(Android)扩展的定位方法。同样使用 UIAutomatorViewer.bat 工具直接查看。

也就是说一个元素的任意属性都可以通过android uiautomator方法来进行定位,但要保证这种定位方式的唯一性。

使用方法:

driver.findElementByAndroidUIAutomator("new UiSelector().text(\"clr\")").click();

driver.findElementByAndroidUIAutomator("new UiSelector().text(\"8\")").click();

driver.findElementByAndroidUIAutomator("new UiSelector().description(\"plus\")").click();

driver.findElementByAndroidUIAutomator("new UiSelector().text(\"5\")").click();

driver.findElementByAndroidUIAutomator("new UiSelector().description(\"equals\")").click();

需要注意的是 description() 方法用的是content-desc属性。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表