![6def35c3a0557cfba70fb175cb62f51b.png](https://i-blog.csdnimg.cn/blog_migrate/340e50f3315ec0311ef3131a016c8c05.png)
小伙伴们都知道如果是web端可以通过F12进行查看元素(右击检查查看元素)那么app如何查看呢?app的通过uiautomatorviewer工具进行元素定位,然后获取对应的一些操作。uiautomatorviewer是Android-sdk自带的元素定位工具。
1.打开uiautomatorviewer工具:android-sdk-windows\tools下
2.任意点击下图中按钮,获取app页面属相
![7544eebb2b42276c0319a6e6c1ad671b.png](https://i-blog.csdnimg.cn/blog_migrate/f6fe51fa771b5299bcc04e4a6447fdb6.png)
3.通过移动鼠标放到想要定位的位置,然后查看右下角元素属性
![715bff40437eabf18b70b407edb35ba1.png](https://i-blog.csdnimg.cn/blog_migrate/4a845153a71a0c030e78724e42577bd9.png)
![6def35c3a0557cfba70fb175cb62f51b.png](https://i-blog.csdnimg.cn/blog_migrate/340e50f3315ec0311ef3131a016c8c05.png)
1、通过id定位
# 格式
find_element_by_id()
点击搜索框,查看右下角元素属性
![680c7a926d9b892dfee8d6b4f580bb15.png](https://i-blog.csdnimg.cn/blog_migrate/27e8a8a2085c04b77dffcead0d2bd246.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.gif](https://i-blog.csdnimg.cn/blog_migrate/575c1595bb9e9755a8d468b7a77cdb0b.gif)
![c9fd594f94c354990abc354f88f191ec.gif](https://i-blog.csdnimg.cn/blog_migrate/575c1595bb9e9755a8d468b7a77cdb0b.gif)
原文链接:
https://www.cnblogs.com/qican/p/11189889.html
本文为51Testing经授权转载,转载文章所包含的文字来源于作者。如因内容或版权等问题,请联系51Testing进行删除
推荐阅读点击阅读☞盘点!细数Appium+Pytest是如何实现App并发测试的?
点击阅读☞记一次搭建Appium自动化测试环境的完整过程
点击阅读☞开启iOS Appium自动化测试之门
点击阅读☞Appium 进行 iOS 自动化测试使用问题锦集
点击阅读☞Appium之与Jenkins集成发送测试报告
![93ac0daa4d0f91da6754d730cef6161f.gif](https://i-blog.csdnimg.cn/blog_migrate/5d291b41318f05468631fb9e434d22e6.gif)