appium定位学习】的更多相关文章

前面也介绍过appium的一些定位方法,今天看到一篇博客,里面的方法总结的,就转载过来. 本文转自:https://www.cnblogs.com/Mushishi_xu/p/7685966.html 6.3 List定位 List故名思义就是一个列表,在python里面也有list这一个说法,如果你不是很理解什么是list,这里暂且理解为一个数组或者说一个集合.首先一个list是一个集合,那么他的个数也就成了不确定性,所以这里需要用复数,所以在我们定位时我们不能够接着用find_element…
1.关于没有name,没有ID的元素的定位---通用篇解题思路:因为没有name,id:其实剩下的选择已不多,要么xpath,要么className.xpath木有好印象(稳定性不高,加之1.0x后需要写全路径,相当崩溃),我决定十分个人色彩的建议使用className.具体方法:用className获取所有该类型的元素:根据元素的位置确定元素的index;获取目标元素.示例:List<WebElement> lis = driver.findElementsByClassName("…
程序猿都非常赖.你懂的! 近期在做html5页面的开发,主要做智能终端设备的开发.对于内容比較少的页面,领导提出了要将页眉和页脚定位到网页的最上方和最下方.对于这种要求,事实上一点也只是分.但对于新手来说,确实非常难,非常不easy.今天我就将我学习的内容一起分享一下. 放置页眉和页脚的方式有三种:     Inline - 默认.页眉和页脚与页面内容位于行内.     Fixed - 页面和页脚会留在页面顶部和底部.     Fullscreen - 与 fixed 类似;页面和页脚会留在页面…
Appium使用WebDriverAgent之后,新增了一种定位方法iOSNsPredicate,总结了一下使用方法: MobileElement photo = driver.findElementByIosNsPredicate("name = 'head new'"); // 等于 MobileElement photo = driver.findElementByIosNsPredicate("name LIKE '*new'");  // 模糊匹配 Mob…
一.链接基本信息 二.在appium界面中 三,定位 三.通过ui automator viewer抓取手机页面元素,点击红框按钮会抓取当前手机界面app全部元素;路径在sdk>tools下面的uiautomatorviewer.bat   (本机是:E:\app\adt-bundle-windows-x86_64-20140321\sdk\tools) 屏幕滑动x1,y1是起始点坐标,x1,y2是结束点坐标,一般是纵向滑动,所以x坐标不变,只有y坐标值是变量 四.在浏览器中打开大师兄ui练习(…
1.手机安装Chrome浏览器 2.开启USB调试模式,并使用安装的Chrome浏览器打开待测H5页面 3.在电脑端的Chrome浏览器输入chrome://inspect                                                 4.打开链接后,选中 Discover USB devices,可以看到监测到的设备,然后点击inspect 就可以操作了 5.  经过研究发现只能定位google打开的网页 6. 试过 uiautomatorviewer.bat…
前面也说过appium也是以webdriver为基的,对于元素的定位也基本一致,只是增加一些更适合移动平台的独特方式,下面将着重介绍xpath方法,这应该是UI层元素定位最强大的方法啦! 以淘宝app为例,定位左上角扫一扫按钮 1.如果元素text是唯一的,可以通过text文本定位 //*[@text=’text文本属性’] # 定位text driver.find_element_by_xpath("//*[@text='扫一扫']").click() 2.如果元素id是唯一的,也可…
通过appium-desktop定位元素 ClassName Android Android的class属性对应ClassName定位方式,ClassName一般都是会重复的,可以通过index来获取需要的元素.(从0开始查找dom树中的同名class属性) iOS iOS的type属性对应CLassName定位方式,ClassName一般都是会重复的,可以通过index来获取需要的元素.(从0开始查找dom树中的同名class属性) ID Android Android的resource-id…
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..ac…
今天我们先来和大家说一下appium,上一次说到了定位,不知道大家定位的怎么样了,今天来说如何定位xpath,五分钟即可学会: 例1: 现在我想定位下面这个登录按钮: xpath该怎么写呢? 先不管三七二十几,先写//,然后找你要定位元素最近的可以直接定位到的元素,我们看到home属性是content-desc: 所以我们就可以根据content-desc这个属性直接定位到上图红色home那里这些属性都在这个WebView下面,所以继续: //adnroid.webkit.WebView[@co…
有朋友留言反应定位不到元素,没错,船长也为这个一直在头疼,我用的App是原生安卓+webService+h5类型的,定位虽然没问题,但是在进行操作的时候各种不通过……真的很头疼啊……我这里说的“操作”是指例如:清空输入框.输入用户名之类的,但是定位是没问题的.今天先给大家看一个比较标准的App,用这种就没有任何问题,其实也是船长在偷懒,因为计算器的操作真的是太简单啦~. 我百度的“计算器apk”: 然后下载的小米计算器: 进行的操作是:12+1= # coding: utf-8 from app…
使用过 Appium 的都知道,元素的定位方式有很多种,具体使用哪一种,主要看业务的需要和自己的使用爱好.下面总结一下,Appium 到底有哪些定位方式,定位的元素以下面截图指定的元素为例子:   这里给 Macaca 的 inspector 查看器打个广告,的确很好用,有需要可到社区的 Macaca 版块自己查找啊! Appium 的定位方式种类 我说的定位方式都是基于我自己亲测过,没使用或比较少用的就在这里不列举了,如有错误的地方,请多多包涵!常用的定位方式(仅限 Android 和 iOS…
1.ID Android Android的resource-id对应ID定位方式,可以通过index来获取需要的元素(从0开始查找dom树中的同名resource-id属性).使用appium-desktop来获取元素时,id和resource-id是相同的,如果只有resource-id,可能存在重复现象,如果提示有id的定位方式,则可以只接获取,代表唯一. driver.find_element_by_id('com.tencent.mobileqq:id/btn_login') 2.Acc…
定位元素规则 和 Selenium Web自动化一样,要操作界面元,必须先定位(选择)元素. Appius是基于 Selenium的,所以和 Selenium代码定位元素的基本规则相同 find element by_XX方法,返回符合条件的第一个元素,找不到抛出异常find elements_by XXx方法,返回符合条件的所有元素的列表,找不到返回空列表通过 WebDriver对象调用这样的方法,直找范围是整个界面通过 WebElement对象调用这样的方法,查找范围是该节点的子节点 界面元…
又是新的一周过去了,时间到了,春天绿了,关于HTML5的学习进步了,今天博客更新一些CSS定位的内容,小的一些细节也要牢记,方便做一个更完美的项目. 如何让垂直方向居中,解决方式:在父元素添加overflow:hidden                              为父盒子添加border                              为父盒子添加border                              上下两个并排内容块的安排,最好只设置其中每个块上或…
之前了解到css的定位position属性,常用的三种: position:absolute 1.当父元素定位为relative时,以父元素为起始坐标定位. 2.当父元素没有定位时,以body为起始坐标定位. position:relative 1.以自身为起始坐标定位. position:fixed 1.以body为起始坐标定位.…
********************************* GPS定位简介 ********************************** 1. iOS SDK提供两个框架来实现位置服务. 分别是 CoreLocation.framework  和 MapKit.framework . CoreLocation.framework  主要提供了获得设备位置信息的API,例如经纬度信息,而 MapKit.framework  主要提供了展示地图的API. 2. 这两个框架中的核心类是…
1.html5 Geolocation html5 Geolocation API 使用很简单,请求一个位置信息,如果用户同意,浏览器会返回一个位置信息,该位置是通过用户的底层设备(手机,电脑) 提供给浏览器.位置信息一般包括经度和纬度信息! 经度和纬度坐标信息一般由两种方式表示 a.十进制表示:39.17222 b.DMS角度格式表示:39°10'20" 2.位置从哪里来 html5 Geolocation API不指定设备使用哪种底层技术来定位应用程序的用户,相反,它只是用于检索位置信息的A…
1.Appium-desktop配置Desired Capabilities { "platformName": "Android", "platformVersion": "7.1.1", "deviceName": "根据adb devices命令检测到的设备获得一串数字填写", "appActivity": "先把安装包长在电脑,通过命令aapt du…
定位使用xpath后,定位消息文本,然后使用text获取消息文本做断言.toast_loc = ("xpath", ".//*[contains(@text,'切换运营商成功')]")elm = WebDriverWait(self.driver, 5).until(EC.presence_of_element_located(toast_loc)) self.assertEqual(elm.text,'切换运营商成功') 进行断言…
cmd输入:adb logcat > d:/1.txt  然后运行APP,关闭APP,到D盘查找文件1,Ctrl+F,输入LAUNCHER,定位启动类,如下图所示位置 即为,eclipse调用APP启动activity:…
之前已经专门学过了定位,但后来因为浏览器比较方便,可以直接复制xpath和css进行定位,个人觉得自己快遗忘了这块,所以专门来回顾一下, 顺便记录一下,以便后期查看. 进行web页面自动化测试,对页面上的元素进行定位和操作是核心,对页面元素的定位是进行自动化测试的基础 需要知道selenium支持8种基本的定位方式: id name class name tag name link text partial link text xpath css selector 对应于webdriver中的定…
如需转载烦请注明出处: 英文原文:http://www.vanseodesign.com/css/css-positioning/ 中文译文:http://www.w3cplus.com/blog/position-and-z-index.html 1.static 是 position 默认的属性值.任何应用了 position:static 的元素都处于常规文档流中.它处于什么位置以及它如何影响周边的元素都是由盒模型所决定的. 2.一个 static 定位的元素会忽略所有 top,right…
这是网上找到的测试用例 from appium import webdriver desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '4.4.2' desired_caps['deviceName'] = 'Android Emulator' desired_caps['appPackage'] = 'com.android.calculator2' desir…
今天在做APP自动化时,发现定位弹出框无法定位,无奈,百度去找.发现了一篇不错的博客,故转载过来,供大家参考.后续会验证这个方法的可行性. 本博客转自:http://blog.csdn.net/qq744746842/article/details/50284239 最近在尝试做Care Android自动化的时候,发现popupwindow按钮识别不到.类似于 ,UiAutomator仍然识别的是下一层的窗体.可能这个时候有些人就开始想,工具都识别不出来.看来这个就是注定搞不了. 实际上我们应…
1.使用id定位: driver.find_element_by_id('id的名称').click() 2.使用className定位: driver.find_element_by_class_name('元素的classname') 注:如有多个相同的className,可使用下标进行操作 elements=element.find_elements_by_class_name('元素的classname') elements[2].click() 也可进行层级定位: element=dr…
一,定位原则 稳定 简单灵活 唯一 WebDriver提供了两种方式来定位页面元素,分别是find_element_by_XXX和find_elements_by_XXX.第一种方式的结果是在正常情况下返回一个页面元素的对象,一旦出现异常就会报错.第二种方式的结果是在正常情况下返回页面元素的多个对象,如果没有任何一个DOM元素能匹配,则此返回列表为空. 二,8大元素定位方法 id name classname tagName(前4个是通过CSS Seletor原理) link_text part…
adb devices 查看连接电脑的手机设备 weditor 启动uiautomatorviewer2元素定位工具 以下2个命令作用一样 adb shell dumpsys activity | find "mResumedActivity" adb shell dumpsys activity activities | findstr mResumedActivity 忘了这两个命令时干嘛用的 打开app的入口页面 aapt dump badging apk路径 安装 uiAuto…
Github测试样例地址:https://github.com/appium-boneyard/sample-code/tree/master/sample-code/examples ①定位text,通过UiSelector定位 # text定位 self.d.find_element_by_android_uiautomator("new UiSelector().text(\"手机相册\")").click() ②中文输入问题,输入中文不显示: <app…
间隔这么长时间再去写Appium的学习篇是有原因的,因为在想要用appium测试ios时,发现appium只能测试debug版本的ipa包.然后就需要自己去学习打包了啊.然后就对xcode各种不了解,各种不熟悉啊.虽然现在还是不熟悉吧,但是好在可以打出来了啊!下面两篇随笔就是介绍Android和ios打包的.   说明:这两种打包都是最初级的,不是很智能,因为我也不是特别了解啊!   Android的打包方法:http://www.cnblogs.com/meitian/p/5807788.ht…