Appium定位 5 ——xpath

今天我们先来和大家说一下appium,上一次说到了定位,不知道大家定位的怎么样了,今天来说如何定位xpath,五分钟即可学会:

例1:

现在我想定位下面这个登录按钮:

xpath该怎么写呢?

先不管三七二十几,先写//,然后找你要定位元素最近的可以直接定位到的元素,我们看到home属性是content-desc:

 

所以我们就可以根据content-desc这个属性直接定位到上图红色home那里这些属性都在这个WebView下面,所以继续:

//adnroid.webkit.WebView[@content-desc='home']/

接下来是一个View,然后他下面的第二个View就是我们要定位的

 

//android.webkit.WebView[@content-desc='home']/android.view.View/android.view.View[2]

这样就可以定位到了,有两点说明

    第一xpath的索引从1开始,不是从0开始哦; 

    第二:看到View开头,不能再xpath里直接写View,要写android.view.View

就以上两点需要注意的,船长下午刚学会,现在你们会了吗?再举个例子:

定位方框里的:

先写上//,然后看home那行,知道要这样写:

//android.webkit.WebView[@content-desc='home']

接着看到定位的View在ListView里面,继续写:

 

//android.webkit.WebView[@content-desc='home']/android.widget.ListView/android.view.View[3]

大家不要只看,去自己写一个试试,我给你现成的代码,你复制过去,改一下相应的参数就可以用:

# coding: utf-8

from appium import webdriver
from time import sleep desired_caps = {'platformName': 'Android',
               'deviceName': '',
               'platformVersion': '6.0',
               'appPackage': '',
               'appActivity': '',
               'unicodeKeyboard': True,
               'resetKeyboard': True}
                driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps) sleep(3)# 点击登录driver.find_element_by_xpath("").click()
               

有问题就后台回复~~

 

更多内容,更清晰的排版,请关注微信公众号:自动化测试实战      

 

posted @ 2018-03-08 10:24  孟船长  阅读(274)  评论(0编辑  收藏  举报