Appium使用教程(五)——元素定位(1)

常用定位方法讲解

一、 ID定位

有时候你看不到元素的ID,两种情况 :
1、开发没有添加。2、android版本是4.4以下的。

windows环境下,先打开你的模拟器,然后双击打开android-sdk目录下的tools下的uiautomatorviewer.bat文件

这里写图片描述

uiautomatorviewer.bat是一个用来来扫描和分析Android应用程序的UI组件的GUI工具。具体使用方法可参考。

打开uiautomatorviewer以后,可以看到uiautomatorviewer已经将模拟器的图形展示在上面了。我们打开计算器app:

这里写图片描述

如果我们需要对“7”这个数字进行点击操作,

driver.find_element_by_id("com.android.calculator2:id/digit7").click()

二、className定位

driver.find_element_by_class_name("android.widget.Button").click()

三、text定位

(需要使用uiautomator的定位方式,使用text的

driver.find_elements_by_android_uiautomator("new UiSelector().text('7')")

使用这里需要注意一下,如果通过text定位的结果是个list,不能直接click。所以如果要点击需要取数组的值,比如下面是点击找到的第一个元素

driver.find_elements_by_android_uiautomator("new UiSelector().text('7')")[0].click()

四、xpath定位

xpath定位在web自动化中是最常见的,而且也是最有效的,可参考http://blog.csdn.net/mtbaby/article/details/73526690进行安装Firbug

这里写图片描述

这里写代码片

下面我们直接看在app中xpath的使用

driver.find_element_by_xpath("//android.widget.TextView[@text='7']").click()

五、css_selector定位(webview)

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

driver.find_element_by_css_selector()

六、link_text定位(webview)

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

driver.find_element_by_link_text()

七、name定位

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

driver.find_element_by_name()
  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值