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()

有问题就后台回复~~

原文发布于微信公众号 - 自动化测试实战(gh_839e78b6ba28)

原文发表时间:2018-03-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Hongten

android开发_SimpleAdapter适配器

drawable-hdpi文件夹中的图片是自己加入的。主要是在菜单选项中显示的图片:

902
来自专栏Android干货

关于安卓开发通过Toast显示消息提示框

2136
来自专栏分享达人秀

ImageSwitcher和TextSwitcher

上一期我们了解了ViewAnimator组件和ViewSwitcher组件的使用,你都掌握了吗?本期一起来学习ViewSwitcher的两个子组件Imag...

2159
来自专栏何俊林

Android View框架总结(一)

View和Activity的区别 View有哪些? ViewGroup是什么? 为什么Google产生ViewGroup? View的层级结构是什么? View...

1875
来自专栏Android机器圈

Android图片处理--缩放

把ImageView或者PhotoView的对象名直接添加到display中就OK 了。

2406
来自专栏飞雪无情的博客

Android Layout的layout_height等属性为什么会不起作用?

有的时候,我们配置好的布局文件,在加载完成添加到我们的Activity中后发现,并没有安装我们设置的属性来布局,比为我们设置了android:layout_ma...

1083
来自专栏非著名程序员

Android实现两个ScrollView互相联动,同步滚动的效果

最近在做一个项目,用到了两个ScrollView互相联动的效果,简单来说联动效果意思就是滑动其中的一个ScrollView另一个ScrollView也一同跟着滑...

2775
来自专栏Android机动车

Android Jetpack 之Navigation Architecture Component使用

activity中fragment默认为NavHostFragment,NavHostFragment通过navGraph与navigation导航编辑器进行关...

3233
来自专栏Android干货

安卓开发_浅谈SubMenu(子菜单)

1996
来自专栏Android干货

安卓开发_慕课网_百度地图_实现模式转换

4148

扫码关注云+社区