原文:http://android.eoe.cn/topic/android_sdk 这节课程我们讨论如何创建一个实现类,即能对应新版本的API,又能够保持对老版本API的支持. * 寻找一个替代的解决方案* 为了保持向后兼容,我们需要用老版本平台的UI框架特性来实现新本版的UI框架特性,这是一件非常具有挑战性的任务.在很多情况下,我们是完全可以做到这一点的,请看下边的例子: Action bars_'能够用一个 horizontal''' LinearLayout'''在你Activity L…
This Android SDK requires Android Developer Toolkit version … .Please update ADT to the latest version.问题产生:1.新下载ADT版Eclipse的Android SDK后,打开eclipse添加SDK时,出现此问题.2.更新ADT或更新SDK后,出现此问题. 解决:确保ADT与SDK版本一致 以下方法择一即可:1.按提示更新相应版本的ADT或SDK.在eclipse下打开ADT/about A…
这个问题比较常见,而且不被重视.大多数人的解决思路是根据坐标,把它点掉. 如下图,根本无法定位出“你好”这个元素: 最后的解决办法是: 在desired_caps={}中增加, desired_caps['automationName']='uiautomator2' 这样该问题就会被解决…
最近在用appium做自动化时发现,有一些元素无法通过uiautomatorviewer进行定位,这样就只能通过相对坐标来进行定位了.但是,问题又来了:如何获取元素的坐标呢? 在网上找了半天也没找到相应的解决方法,后来在一篇文章中看到打开手机指针位置来确定元素所在坐标.具体方法:设置--开发者选项--指针位置 开启指针位置之后,点击手机屏幕就会显示该位置的具体坐标,这样就获取到了元素的绝对坐标 然后通过webdriver的tap()函数点击该坐标就可以了. 我们获取到的是绝对坐标,如果换一个屏幕…
背景 移动应用可以粗分为三种:原生应用(native app), 网页应用(web app,或HTML5 app),以及它们的混血儿--混合模式移动应用(hybrid app). 什么是Hybrid Mobile App Hybrid app从外观上来看是一个native app,实则只有一个UIWebView,里面访问的是一个web app,如新闻类和视频类的应用普遍采取该策略:native的框架加上web的内容.不同于native app需要针对不同的平台使用不同的开发语言(如使用Objec…
一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录下 Appium Inspector:Appium自带的一个功能,只有mac下可以使用该功能   下面是用monitor抓取到的页面元素     下面使用Appium Inspector定位的元素   二.元素定位   1.格式:find_element_by_定位方式(value)   通过id定位 (取resource…
所谓Predicate定位即Java-Client -5.0.版本以及Appium-Python-Client 0.31版本更新后增加的新的定位方式: 举个例子: JAVA代码: //输入账号和密码 driver.findElementByIosNsPredicate("value =='11'").sendKeys("AXPC11@ett.com"); driver.findElementByIosNsPredicate("name == 'login_…
快速解决设置Android 23.0以上版本对SD卡的读写权限无效的问题 转 https://www.jb51.net/article/144939.htm 今天小编就为大家分享一篇快速解决设置Android 23.0以上版本对SD卡的读写权限无效的问题,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 对Android的SD卡进行读取权限设置时: ? 1 2 <uses-permission android:name="android.permission.WRITE_EX…
一,前言 在app自动化测试的过程中经常会遇到需要对toast进行定位,最常见的就是定位toast或者获取toast的文案进行断言,如下图,通过定位"登录成功"的toast就可以断言今日头条登录用例是否通过.但toast区别于控件元素,无法获取焦点,不能通过uiautomatorviewer.bat.appium.weditor等工具定位,因此我们就需要通过别的方法来定位. 二,环境 windows 10 Android 10 appium 1.18.0 (desktop) selen…
施用 maven shade plugin 解决 jar 或类的多版本冲突   使用 maven shade plugin 解决 jar 或类的多版本冲突java 应用经常会碰到的依赖的三方库出现版本冲突,下面举一个具体的例子. Dubbo 是一个分布式的服务框架,其中的一种 rpc 实现(dubbo 协议)使用 hessian 3.2.0 来做序列化,另外一种实现(hsf协议)同样使用了 hesssian,但使用的版本是 3.0.14.如果现在一个应用中同时使用了 dubbo 协议和 hsf…