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()
有问题就后台回复~~
更多内容,更清晰的排版,请关注微信公众号:自动化测试实战
Appium定位 5 ——xpath的更多相关文章
- appium定位之xpath定位
前面也说过appium也是以webdriver为基的,对于元素的定位也基本一致,只是增加一些更适合移动平台的独特方式,下面将着重介绍xpath方法,这应该是UI层元素定位最强大的方法啦! 以淘宝app ...
- 四:RF框架appium工具之xpath定位
XPATH定位方法具体的学会,还是在今年1月份,以前运用的都不熟练. 这个定位神器是一定要掌握的,不然有你抓狂的时候. 第一要掌握它的书写格式,这个好上手. 第二要掌握它的具体用法.这个就要多练习了, ...
- Appium 定位
使用过 Appium 的都知道,元素的定位方式有很多种,具体使用哪一种,主要看业务的需要和自己的使用爱好.下面总结一下,Appium 到底有哪些定位方式,定位的元素以下面截图指定的元素为例子: 这 ...
- Selenium2学习-002-Selenium2 Web 元素定位及 XPath 编写演示示例
此文主要对 Selenium2 的 Web 元素定位及 XPath 编写示例,敬请各位亲们参阅,共同探讨.若有不足之处,敬请各位大神指正,不胜感激! 通过 Firefox(火狐)浏览器的插件 Fire ...
- appium定位toast消息的使用
定位使用xpath后,定位消息文本,然后使用text获取消息文本做断言.toast_loc = ("xpath", ".//*[contains(@text,'切换运营商 ...
- FireFox浏览器-xpath快速定位插件:Xpath Checker
FireFox浏览器-xpath快速定位插件:Xpath Checker 插件截图:
- Selenium WebDriver 定位之Xpath定位
Selenium 定位之Xpath定位: 1.绝对路径定位:以/开头从根节点一直找到当前节点,不推荐使用决定路径定位方式 2.相对路径定位:使用"//"表示相对路径定位,格式:// ...
- 【appium】根据xpath定位元素
1. 背景 本文尝试使用的试验对象是SDK自带的NotePad应用实例,假设已经有两个Notes分别是“note1”和“note2”添加到Notepad上面,我们要做的就是尝试用xpath的方法来定位 ...
- appium+python自动化-xpath定位
基本属性定位 以淘宝app为例,定位左上角扫一扫按钮 1.可以通过text文本定位到 //*[@text='text文本属性'] # 定位text driver.find_element_by_xpa ...
随机推荐
- C++ substr 和 substring
功能相似,但参数不同 substr(start,length); substring(start,end);
- LM3S之boot loader学习笔记-2
LM3S之boot loader学习笔记-2 彭会锋 () 上一篇中介绍了bootloader的基础知识,对于bootloader的作用和如何编写bootloader也有了大概的了解了,这一篇主要讲解 ...
- 添加resx文件过程笔记
为了测试资源文件,今天上午耗掉了.终于实现了,原来是要按照它自动建文件夹,不可以手动建.下图 见其他语言的时候一定要:Mytest.zh-CN.resx 这样,加上后缀名字 代码中获取资源 http: ...
- MYSQL-实现分组排序 对比 ORACLE 和SQLserver用 row_number() over(partition by ) 分组排序功能
以下是个人笔记: 本文是为了理解 row_number() over(partition by ) 和实现各种数据库的分组排序功能 select ROW_NUMBER()over( partitio ...
- gridview 后台增加列
BoundField field1 = null; field1 = new BoundField(); //实例化 field1.HeaderText = "序号";field ...
- 2017北京赛区H题
题目链接 题意:在n*m的矩阵中选择变换或者不变换一个数变成p,使得最大子矩阵和最小 1<=n,m<=150, -1000<=p<=1000; 题解: 他人题解链接 涉及到知识 ...
- L160
In the Soviet Union several cases have been reported recently of people whocan read and detect colou ...
- LaTex中插入大括号的多行公式
由于近期要发表论文,不得不恶补LaTex.现在需要插入带大括号的多行公式,效果如下: LaTex编辑如下: \begin{equation} \label{eq6} [x_{i}]=\left\{ \ ...
- Getting command line access to PHP and MySQL running MAMP on OSX
建立自己profile路径应该在/Users/yourname/,最后要运行. ./.profile使文件生效,和windows中给添加环境变量是一个道理,还可以看出linux和UNIX默认运行路径为 ...
- error c2129:静态函数已声明但未定义
今天在做一个c函数暴露给lua 时,出现这个问题. 大概代码是这样的, 头文件: #ifndef LEVEL_DESIGNER_H #define LEVEL_DESIGNER_H extern &q ...