# -*- coding:utf-8 -*- from appium import webdriver from time import sleep desired_caps ={ 'platformName':'Android', 'deviceName':'127.0.0.1:62001', 'platformVersion':'4.4.2', 'appPackage':'com.baidu.yuedu', 'appActivity':'com.baidu.yuedu.splash.Spla…
1.等待 1.1精确等待 sleep 不推荐 @Test public void testWait1() throws InterruptedException{ day_time(); Thread.sleep(10000); day_time(); WebElement e1 = driver.findElementById("com.xueqiu.android:id/user_profile_icon"); System.out.println(e1.getTagName()+…
app定位方式,本文只讲Android手机的定位方式. 前提条件是adb连接到模拟器或者是手机(具体连接方式这里不再讲解),证明已连接到设备 adb devices app元素定位工具一:UI Automator Viewer 这个工具是Android SDK自带的一个定位工具,具体页面截图如下: app元素定位工具二:Appium工具 启动Appium,启动之后,页面有一个放大镜的按钮,如图所示: 点击放大镜按钮,进入配置项,如果所示: platformName  -- 系统名称 platfo…
做自动化,元素定位是我们遇到的第一个困难.总是会有各种各样的问题,导致我们定位不到元素.前面一篇博客也写了元素定位的几种方法,今天主要分享一下xpath的定位方法. 这里我们仍然拿计算器举例. 比如我这里想去定位这个数字1的按钮. 首先打开UIuiautomatorviewer 我们鼠标点击一下数字7可以看到这个按钮的位置.我们上一篇中也说到了,在元素的属性中,class就是xpath的地址,我们是可以通过class来写xpath的. 那么这里我们就可以写成: find_element_by_x…
一.简介 XPath 是一门在 XML 文档中查找信息的语言.XPath 用于在 XML 文档中通过元素和属性进行导航. 二.定位 2.1 利用自己的本身属性定位 //标签[文本属性和值] 下面百度的例子: //a[text()='个人中心']  #利用文案 //div[@class='s-isindex-wrap' and @class='s-user-set-menu']  #利用class并且用and连接,表示只有两个属性都满足时才确定元素 //div[@class='s-isindex-…
1. 背景 本文尝试使用的试验对象是SDK自带的NotePad应用实例,假设已经有两个Notes分别是“note1”和“note2”添加到Notepad上面,我们要做的就是尝试用xpath的方法来定位“note2”这个ListView下面的TextView控件. 注意界面上有3个TextView类型的控件: 最上面的作为整个ListView的Title文本为“Notes”的TextView,Index为0 中间的文本为“note2”的TextView,Index也是0 最下面的文本为“note1…
J 今天的主题是讲一下在使用过程中遇到的一个问题,如何在UiAutomator2.0中使用Xpath定位元素? 背景 现在的app在打包成apk的时候都是有加固处理的,各种混淆加固,所以已经破坏了或扰乱了原本的代码变量命名形式,这就给我们要基于界面来做自动化测试带来了灾难性的阻碍,因为那些混淆过的id是不固定的,下一次再出个新版本,这一切都变了,所以这就没办法用id来定位混淆过的app元素,那还有什么好的方法吗?还记得Web自动化测试中神乎其技的xpath吗?不管什么元素都可以用它定位出来,所以…
Appium 的xpath定位 1.如果元素text是唯一的,可以通过text文本定位 //*[@text=’text文本属性’] # 定位text driver.find_element_by_xpath("//*[@text='扫一扫']").click() 2.如果元素id是唯一的,也可以id属性定位 //*[@resource-id=’id属性’] # 定位 resource-id driver.find_element_by_xpath("//*[@resource…
XPATH定位方法具体的学会,还是在今年1月份,以前运用的都不熟练. 这个定位神器是一定要掌握的,不然有你抓狂的时候. 第一要掌握它的书写格式,这个好上手. 第二要掌握它的具体用法.这个就要多练习了,没有别的方法和途径了. 在APPIUM定位方法总结里,有专门介绍过XPATH定位方法. 大概思路,通过元素属性定位. 当没有合适的元素属性时,通过绝对路径与相对路径来定位. 重点是相对路径的定位. 找唯一,找唯一,找唯一. # http://www.cnblogs.com/star12111/p/8…
xpath路径选择器定位元素 1. xpath: 使用路径表达式来定位xml或者html中文档中选取节点.在 XPath 中,有七种类型的节点:元素.属性.文本.命名空间.处理指令.注释以及文档节点(或称为根节点) 假设xml文档为: <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="en">Har…
目录 1.Selenium中使用XPath查找元素 (1)XPath通过id,name,class属性定位 (2)XPath通过标签中的其他属性定位 (3)XPath层级定位 (4)XPath索引定位 (5)XPath逻辑定位 (6)XPath模糊匹配定位 (7)XPath其他定位方式 2.总结: 前情提示:在前一篇文章中,我们详细的介绍了XPath路径表达式的使用方式.那么本篇文章我们就来说说在Selenium测试框架中如何使用XPath定位元素. XPath定位和Selenium基础元素定位…
#这里的示例是用android来说明的,xpath应该是通用的,resource-id不太清楚,没配过IOS的环境 #环境配置和一些参数的意思不清楚可以看我上一篇python appium笔记(一) (一)说明 主要说明下面2种方式,其实感觉通过xpath,不管selenium还是appium,应该能定位全部元素了. 1.resource-id:定义了resource-id,并且唯一的情况下,可以使用这种方式 2.xpath:任何情况下,都可以用xpath进行定位 (二)查看 #做第四步的时候,…
​6.1 常用定位方法讲解 对象定位是自动化测试中很关键的一步,也可以说是最关键的一步,毕竟你对象都没定位那么你想操作也不行.所以本章节的知识我希望大家多动手去操作,不要仅仅只是书本上的知识,毕竟这个我只能够举例说明.下面我们来看我们常用的一些定位方式. 6.1.1 ID定位 无论是在web自动化还是app自动化中id都是唯一的,可能有的小伙伴看到这里会有疑问,因为有的资料说是通过name定位是唯一的,为什么你这里是id呢,其实这个在之前是不冲突的,但是如果你用的是appium较新版本是不行的,…
简介 你有道灵光从天灵盖喷出来你知道吗,年纪轻轻就有一身横练的筋骨,简直百年一见的练武奇才啊,如果有一天让你打通任督二脉,那还不飞龙上天啊.正所谓我不入地狱谁入地狱,警恶惩奸维护世界和平这个任务就交个你了,好吗.这本如来神掌秘籍是无价之宝,我看与你有缘,收你十块钱传授给你吧.想必这段经典台词给为都可以的耳熟能详吧,宏哥,没这么牛叉呼啦带闪电,就是希望对你有帮助就可以了. 上一篇宏哥给小伙伴们介绍完定位工具这两个异性兄弟,这篇就给小伙伴们介绍一下定位方法.早就有小伙伴问,这个这个怎么定位,那个那个…
刚开始学习selenium自动化测试时,犯了一个不该犯的错误,偷懒,使用火狐浏览器中的扩展FIREBUG,FIREPATH来辅助定位. 虽然用的定位方法大多数是使用XPATH方法,但是是工具定位出来的,不是个人定位的.影响了自己XPATH的学习.后来,在学习APPIUM 工具时,恶补了XPATH的定位方法. 具体的定位方法参照我博客里之前的两篇文章: http://www.cnblogs.com/star12111/p/8575581.htmlhttp://www.cnblogs.com/sta…
一.获取手机信息 adb devices获取手机或模拟器的设备名 aapt dump badging xxxx.apk获取app的包名.入口等基本信息 如果想要知道手机原生携带的app的基本信息,首先是无法获取到这个apk软件包,也就无法用aapt的方法来获取对应的信息.此时可以通过抓取日志的方法获取基本信息. 举例:想要获取到手机功能---设置  的基本信息.最终可以通过代码或appium客户端链接手机,并自动启动手机的设置功能 方法: 1.关闭手机后台运行的所有程序 2.打开手机日志 在cm…
其中有一片文章提到了xpath元素定位,但是该文章中有些并不能适应一些特殊与个性化的场景.在文本中提供xpath元素的定位终极篇,你一定能在这里找到你需要的解决办法. 第一种方法: 通过绝对路径做定位(相信大家不会使用这种方式)By.xpath("html/body/div/form/input") 第二种方法: 通过想对方是定位By.xpath("//input") 第三种方法: 通过元素索引定位By.xpath("//input[4]") 第…
xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. 阅读目录 什么是xpath xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素. xpath定位的缺点 xpath 这种定位方式, webdriver会将整个页面的所有元素进行扫描以定位我们所需要的元素, 这是个非常费时的操作,  如果脚本中大量使用xpath做元素定位的话, 脚本的执行速度可能会稍慢 testXpath.htm…
CSS定位 举例 描述 div#menu id为menu的div元素 div.action-btn.ok-btn class为action-btn和ok-btn的div元素 table#emailList   tr:nth-child(2) id为emailList的table里面的第二个tr元素.括号里的index从1开始. input[type='submit'] 具有属性type并且其值为submit的input元素 div[id^='menu'] 具有属性id并且其值的前缀为menu的d…
被测试网页的HMTL代码 <html> <body> <div id="div1"> <input name="div1input"></input> <a href="http://www.sogou.com">搜狗搜索</a> <img alt="div1-img1" src="http://www.sogou.com/im…
1.什么是XPath XPath定位方式是自动化测试定位技术中的必杀技,几乎可以解决所有的定位难题.它是XML Path语言的缩写,主要用于在XML 文档中选择文档中的节点.基于XML树状文档结构,XPath语言可以用于在整颗树中寻找指定的节点.由于网页的HTML代码是一种特殊的XML文档,因此XPath也支持在HTML代码中定位HTML树状文档结构中的节点.它是一种选择器,在firefox中用firepath可查看. 2.XPath语法 被测试网页的HTML代码(xPathDemo.html下…
在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到.这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语法. 什么是xpath呢?官方介绍:XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言.反正小编看这个介绍是云里雾里的,通俗一点讲就是通过元素的路径来查找到这个元素的,相当于通过定位一个对象的坐标,来找到这个对象. 一. xpath:属性定位 xptah也可以通…
一. SelectNodes,SelectSingleNode总是返回NULL 下面以一个简单的xml为例: <?xml version="1.0"?> <message xmlns="http://www.mydomain.com/MyDataFeed" xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="http://www.mydomain.…
selenium使用Xpath定位之完整篇   其中有一片文章提到了xpath元素定位,但是该文章中有些并不能适应一些特殊与个性化的场景.在文本中提供xpath元素的定位终极篇,你一定能在这里找到你需要的解决办法. 第一种方法:通过绝对路径做定位(相信大家不会使用这种方式) By.xpath("html/body/div/form/input") By.xpath("//input") 第三种方法:通过元素索引定位 By.xpath("//input[4]…
用Xpath定位元素的方法总是记不住,经常要翻出各种文档链接参考,干脆把需要用到的内容整到这个笔记中方便查找. Xpath是在XML文档中定位节点的语言.使用 XPath 的主要原因之一是当想要查找的元素缺少合适的 id 或name属性.XPath定位器可以用来绝对或相对定位缺少id或name属性的元素,也可以是用其他属性进行定位. 通过XPath定位的元素容易受html调整的影响,可以先通过id或name属性找到就近的元素,如父元素,用以加强测试脚本的稳定性.   例如,源文件如下: <htm…
在rf中,利用selinum2的关键字进行用例编写时,很多关键字的参数是html元素的定位标识. 最简单的方式,是通过id 或name来描述元素定位信息,如 click  button    id=loginBtn  //表示点击id值为loginBtn的按钮元素 利用id和name来定位元素,前提是要求元素设置了id或name属性,并且是唯一的.但实际的web页面中,很多元素是没有id或name的,这时可通过html元素在页面中的路径来判断. 我们拿找人这个来比喻,利用id就好比通过身份证号(…
Selenium下的Webdriver工具支持FireFox(geckodriver). IE(InternetExplorerDriver).Chrome(ChromeDriver). Opera(OperaDriver), 它还支持AndriodDriver和Iphone(IphoneDriver)的移动应用测试. 而做测试的主流三款浏览器:Chrome.Firefox和IE,今天就介绍下,Selenium下配置这三款浏览器驱动的方法与用法. Selenium安装浏览器驱动 1. FireF…
本文主要讲述Xpath语法中,和元素定位相关的语法 第一种方法:通过绝对路径做定位(相信大家不会使用这种方式) By.xpath("html/body/div/form/input") 第二种方法:通过相对路径做定位 两个斜杠代表相对路径 By.xpath("//input//div") 第三种方法:通过元素索引定位 By.xpath("//input[4]") 第四种方法:使用xpath+节点属性定位(结合第2.第3中方法可以使用) By.xp…
Appium元素定位: 工具:Android\android-sdk\tools    uiautomatorviewer.bat 1. id定位: self.driver.find_element_by_id('com.tencent.mobileqq:id/btn_login').click() 2. class定位: self.driver.find_element_by_class_name('android.widget.Button').click() (注:一般一个页面上的clas…
1.Xpath定位方法探讨 xpath是比较常用的一种定位元素的方式,因为它很方便,缺点是,消耗系统性能.如果Xpath使用的比较好,几乎可以定位到任何页面元素,而且受页面变化影响较小. 1.1.什么是XPATH: XPath (XML Path Language) 是一门在 HTML文档中查找信息的语言,可用来在 HTML文档中对元素和属性进行遍历. 详细使用方法可见 W3School官方文档:http://www.w3school.com.cn/xpath/index.asp 1.2.XPA…