获取id元素_绕了一大圈,还是要学元素定位方法!

6af10c88b5535a47fd6b60a880120536.gif

在我们做自动化测试的过程中,最基本的就是要会元素定位,也是自动化中的灵魂所在,如果一个自动化测试工程师说不会定位元素定位,那么肯定也不会做自动化了。 6def35c3a0557cfba70fb175cb62f51b.png 如何查看元素

小伙伴们都知道如果是web端可以通过F12进行查看元素(右击检查查看元素)那么app如何查看呢?app的通过uiautomatorviewer工具进行元素定位,然后获取对应的一些操作。uiautomatorviewer是Android-sdk自带的元素定位工具。

1.打开uiautomatorviewer工具:android-sdk-windows\tools下

a6b08d971b30fc478f401d5f8a7b8745.png

2.任意点击下图中按钮,获取app页面属相

7544eebb2b42276c0319a6e6c1ad671b.png

3.通过移动鼠标放到想要定位的位置,然后查看右下角元素属性

715bff40437eabf18b70b407edb35ba1.png 6def35c3a0557cfba70fb175cb62f51b.png 元素定位

1、通过id定位

# 格式

find_element_by_id()

点击搜索框,查看右下角元素属性

680c7a926d9b892dfee8d6b4f580bb15.png

属于id属性,进行点击等操作

# 通过ID获取属性 driver.find_element_by_id('com.taobao.taobao:id/home_searchedit').click()

2、通过class_name定位

# 格式

find_element_by_class_name()

继续拿上面的图我们做分析,发现有class=‘android.widget.EditText’

# 通过class_name进行定位

find_element_by_class_name('android.widget.EditText')

3、通过text定位

# 格式

find_element_by_link_text()

上图发现text属性有值为text=‘小米cc9e钢化膜’

# 通过text进行定位

find_element_by_link_text('小米cc9e钢化膜')

4、通过xpath定位

# 格式

find_element_by_xpath()

# xpath也可以通过id,class,name进行定位

# 通过id

find_element_by_xpath('//*[@resource-id='属性值']')

# 通过class

find_element_by_xpath('//*[@class='属性值']')

# 通过name

find_element_by_xpath('//*[@name='属性值']')

# 其他属性

find_element_by_xpath('//标签下[@index='属性值']')

5、通过name定位

# 格式

find_element_by_name()

# 这个工具上好像没有name属性,我们可以在web查看试试

6、通过tab_name定位

# 格式

find_element_by_tag_name()

7、通过css进行定位

# 格式

find_element_by_css_selector()

# css也可以通过其他属性定位

# 通过id

find_element_by_css_selector('#id属性')

# 通过标签定位,尽量不要用,重复的标签太多了,可以和其他属性一起使用

find_element_by_css_selector('标签名#其他属性')

# 通过class

find_element_by_css_selector('.class属性')

说明:在CSS中定位id属性前面要加"#",在class属性面前需要加“.”

详细的css定位语法见:

http://www.51testing.com/html/59/n-4471759.html  

定位方法不在乎多少,在乎的是如何在最需要的时候用到它(说白了就是,那个方便用那个)

c9fd594f94c354990abc354f88f191ec.gifEND c9fd594f94c354990abc354f88f191ec.gif

4c892f93e84285019bdd064bae8b475f.png

原文链接:

https://www.cnblogs.com/qican/p/11189889.html

本文为51Testing经授权转载,转载文章所包含的文字来源于作者。如因内容或版权等问题,请联系51Testing进行删除

推荐阅读

点击阅读☞盘点!细数Appium+Pytest是如何实现App并发测试的?

点击阅读☞记一次搭建Appium自动化测试环境的完整过程

点击阅读☞开启iOS Appium自动化测试之门

点击阅读☞Appium 进行 iOS 自动化测试使用问题锦集

点击阅读☞Appium之与Jenkins集成发送测试报告

93ac0daa4d0f91da6754d730cef6161f.gif

87a6d571c1f9f9c9aac07e121d2ab847.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值