appium定位方法

1.id定位

driver.find_element_by_id("这里是resource-id")

2.name定位 (新版本的appium 1.7 已经没有这个定位方法了)

driver.find_element_by_name("这里是text")

3.class定位

driver.find_element_by_class_name("class属性")

(注:一般一个页面上的class属性不唯一,元素不唯一的话定位会报错了)

4..accessibility_id定位

driver.find_element_by_accessibility_id(“content-desc的值”)

5.坐标定位

driver.tap([(374, 831), (654, 906)], 500)     500是点击时间  tap是模拟点击

6.Xpath定位

driver.find_element_by_xpath(“xpath”)

 

 

android_uiautomator定位方法

text文本定位: 定位元素文案为"Login"的按钮

dr.find_element_by_android_uiautomator('text(\"Login\")').click()    

dr.find_element_by_android_uiautomator("new UiSelector().text(\"Login\")").click()   #第2种写法

精确定位

模糊定位

dr.find_element_by_android_uiautomator('textContains(\"Log\")').click()

dr.find_element_by_android_uiautomator("new UiSelector().textContains(\"Login\")").click()   #第2种写法

 后记:

ios的 是  driver.find_element_by_ios_uiautomation()

 后记:

这里 可以配合  做显示等待

https://www.cnblogs.com/kaibindirver/p/8401847.html

https://www.cnblogs.com/kaibindirver/p/10558311.html

 

resource-id定位

dr.find_element_by_android_uiautomator("new UiSelector().resourceid(\"resource-id\")").click() 

className定位

dr.find_element_by_android_uiautomator("new UiSelector().className(\"className\")").click() 

className复数定位 (感觉这个方法没啥用啊?)

loc_calss="new UiSelector().className(\"className\")" 

dr.find_element_by_android_uiautomator(loc_calss)[2].click() 

组合定位

text+resourceid

dr.find_element_by_android_uiautomator('resourceid(\"resource-id\").text(\"Login\")').click()   

这里的都可以用 password属性 如:  new UiSelector().password(\"false\")")在和上面一样组合或者单独用   -------  我猜的

 后记: 

使用这个定位方法记得在头部加参数

desired_caps = { 'automationName': 'Uiautomator'}

posted @ 2017-12-29 17:14  凯宾斯基  阅读(2439)  评论(0)    收藏  举报