Android app 元素定位除了使用Appium Inspector 外,还可以使用Android SDK 里tools中的uiautomatorviewer 工具.但今天打算使用 uiautomatorviewer 进行元素定位的时候,发现无法截图,并报如下错误: Unexpected error while obtaining UI hierarchy # 点击Details java.lang.reflect.InvocationTargetException 查找资料了解到,从And…
原文地址:ADF控件ID变化引发JS无法定位控件的解决方法作者:Nicholas JSFF定义的控件ID到了客户端时往往会改变.例如在JSFF中的一个的ID为"ot1",但是当这个JSFF被嵌入TaskFlow中,并以Region的方式在页面展示时,在浏览器中,此控件的ID就会变成"r1:0:ot1".   ADF动态修改控件ID的原因其实是为了提供重用性的同时防止控件ID的冲突.试想如果有两个JSFF中分别都有一个,其ID均为ot1,那么当这两个JSFF被引入同一…
启动android程序和虚拟机时候出现如下错误的解决方法. 错误重现: [2011-07-13 16:22:48 - Emulator] invalid command-line parameter: Files. [2011-07-13 16:22:48 - Emulator] Hint: use '@foo' to launch a virtual device named 'foo'. [2011-07-13 16:22:48 - Emulator] please use -help fo…
Android开发调试无法连接到夜神模拟器的解决方法: 一般原因是adb的版本不一致造成的!!!!!换成一样的就可以了. 在网上看到的方法,特记录下来: 1.任务管理器里看下,adb.exe以及nox_adb.exe这2个进程有没有在运行?有的话就结束掉. 2.找到开发环境的SDK的目录和夜神模拟器的目录,将SDK目录下的adb.exe文件,复制到夜神模拟器的目录下,因为夜神模拟器目录下原本的adb文件名字叫做nox_adb.exe,因此复制过去之后也得改名为nox_adb.exe. 3.这样开…
selenium自动化测试过程中,经常会发现某一元素单击,很不稳定,有时候执行了点击没有反映. 以下总结两种解决方法:都是通过js注入的方式去点击. 1.F12查一看,要点击的按钮,或连接,有没有onclick=func();这样调用方法. 如果有的话,可以直接用js调用方法名 driver.execute_script("func();”) 2.找到元素,之后用js注入单击. 有人可能会问,都找到元素了,直接element.click()不就好了. 这样是可以,但是本文的内容是,有一些不稳定.…
直接上解决方法 1.若import了androi.R直接删除,导入自己包下的R文件,例如com.example.my.R 2.若上面的做了后还有错误,应该是包名不一致导致的,即com.example.my.R会报错,找到R.java的包名 3.R.的下拉选项中选择l为自己包名的layout,第一个一般是android.R 差不多就是上面的几种情况,这个问题小却很折磨人,经历一次就好…
时间 2014-03-18 18:00:55 eoe博客 原文  http://my.eoe.cn/916054/archive/24053.html 主题 安卓开发 自从Android3.0引入了Fragment之后,使用Activity去嵌套一些Fragment的做法也变得更加流行,这确实是 Fragment带来的一些优点,比如说:Fragment可以使你能够将activity分离成多个可重用的组件,每个都有它自己的生命周期和UI,更 重要的是Fragment解决了Activity间的切换不…
分析:这种问题之前没有遇到过,也不知道什么原因,直接去网上查询,打开www.stackoverflow.com,输入要查询问题的关键词,我们输入 “android sdk content loader 0%”,查询结果如下:      我们找到投票数最多的这个回答: 以下是我所找到的有效的解决方法:1.首先确保 eclipse 已经关闭.如果 eclipse 还处于打开状态,请从任务管理器的进程列表中杀死 eclipse .2.在 Windows 上可以通过 %USERPROFILE%/,在 L…
一.情况描述 在eclipse或Android Studio开发时(笔者目前只用过Android Studio),设置Android SDK的编译版本为23时,且使用了httpClient相关类的库项目时:如Android-async-http时,会出现有一些类找不到的错误,或者找不到HttpClient类. 二.原因 android 6.0 (api 23)SDK,不再提供org.apache.http.*(只保留几个类). 三.解决方法 1.eclipse libs中加入 org.apach…
今天用了下Android Studio,出现了一些问题,现在将启动过程中遇到的问题和解决方案列出来,方便大家参考. 安装过程不多说,网上一搜一大把. 那直接说问题吧: 1. 无法启动,报错:Failed to allocate memory: 8This application has requested the Runtime to terminate it in an unusual way.Please contact the application's support team for…
Android 开发工具升级到22.6.2在创建project时仅仅要选择的最低版本号低于4.0,就会自己主动生成一个项目appcompat_v7,没创建一个新的项目都会自己主动创建,非常是烦恼... 之前在网上也找过方法,都是天篇一律 创建project时最低选择 4.0,但这样弊端非常明显,不能 在低于4.0的版本号上执行,应用的兼容性太弱了.. 也是烦恼了一段时间的,今天偶然发现了一个完美的解决方法 仅仅要在创建project的时候选择不创建Activity就能够攻克了哈,非常easy吧…
最近Android Studio炒的比较热,于是笔者决定赶赶时髦,从Eclipse转到了Android Studio.不幸的是,用Android Studio创建项目的时候就遇到了一个比较尖锐的问题——R文件丢失,如下图. error提示为“Error:Execution failed for task ‘:app:compileDebugAidl‘.> aidl is missing” . 经过多方查阅及研究,有了一个简单明了的解决方法. 其实问题的焦点就在Build Tool 23.0.0…
作为新手,学习android 的时候难免要导入一些示例,目的为了更加了解android各种API用法,顺便也可以学习下别人代码的写法. 可是导入android源码后,基本都有错误,R.java也不会自动生成, 因为是第一次导入工程,工程有错R.java就不会自动生成了,工程有错误,当然模拟器就不能启动,也就看不到效果. 在网上找到的各种解决方法,总结如下:  1.选择菜单  Project >> Clean ,前提是勾选上 Bulid Automatically(自动构建部署) , 点Clea…
今天用了下Android Studio,出现了一些问题,现在将启动过程中遇到的问题和解决方案列出来,方便大家参考. 安装过程不多说,网上一搜一大把. 那直接说问题吧: 1. 无法启动,报错:Failed to allocate memory: 8This application has requested the Runtime to terminate it in an unusual way.Please contact the application's support team for…
在做Android客户端通过https协议访问12306,并爬取数据时,出现了如下错误: 其中有一条错误提示是 javax.net.ssl.SSLPeerUnverifiedException: No peer certificate的异常.现给出解决方法. 写了一个自定义类继承SSLSocketFactory: import java.io.IOException; import java.net.Socket; import java.net.UnknownHostException; im…
背景 当我在Android 7.0及以下手机运行启动页,进行Activity跳转的时候,完美跳转到对应的目标Activity. 但当在Android 8.0及以上手机进行Activity跳转时,会爆如下错误: java.lang.SecurityException: Permission Denial: null asks to run as user 450 but is calling from user 0; this requires android.permission.INTERAC…
一.什么是内存泄露? Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收.也就是说,一个对象不被任何引用所指向,则该对象会在被GC发现的时候被回收:另外,如果一组对象中只包含互相的引用,而没有来自它们外部的引用(例如有两个对象A和B互相持有引用,但没有任何外部对象持有指向A或B的引用),这仍然属于不可到达,同样会被GC回收. Android中使用Handler造成内存泄露的原因 private Han…
今天用了下Android Studio,出现了一些问题,现在将启动过程中遇到的问题和解决方案列出来,方便大家参考. 安装过程不多说,网上一搜一大把. 那直接说问题吧: 1. 无法启动,报错:Failed to allocate memory: 8This application has requested the Runtime to terminate it in an unusual way.Please contact the application's support team for…
今天尝试用 Cocoapods安装个第三方库.. 输入pod install, 发现 command not find. WTF! 估计是升级10.11后Cocoapods被干掉了. 我输入 sudo gem install cocoa pods 之后,出现如下问题: ERROR:  While executing gem ... (Gem::DependencyError)    Unable to resolve dependencies: cocoapods requires cocoap…
什么是内存泄漏 对于不同的语言平台来说,进行标记回收内存的算法是不一样的,像 Android(Java)则采用 GC-Root 的标记回收算法.下面这张图就展示了 Android 内存的回收管理策略(图来自Google 2011的IO大会) 图中的每个圆节点代表对象的内存资源,箭头代表可达路径.当圆节点与 GC Roots 存在可达路径时,表示当前资源正被引用,虚拟机是无法对其进行回收的(如图中的黄色节点).反过来,如果圆节点与 GC Roots 不存在可达路径,则意味着这块对象的内存资源不再被…
由于ListView会默认去获取焦点,如果说ListView在页面的下方的话,那么点击条目进入新页面并退出,那么这时候就会定位到ListView这里,而不是展示头部.   解决这个问题,只需要在ListView的根布局中添加如下属性:   android:descendantFocusability="blocksDescendants"   该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系. 属性的值有三种:           beforeDesc…
工具 Xpath的练习建议下载火狐浏览器,下载插件Firebug.Firepath. 由于最新版火狐不支持Firebug等扩展工具了,所以需要下载49版以下的版本安装https://ftp.mozilla.org/pub/firefox/releases/,再进行插件扩展. 什么是Xpath? Xpath是XML路径语言,简言之就是通过元素的路径来查找这个标签元素. Xpath的使用方法 1.Xpath支持ID.Name.Class定位 2.如果标签没有ID.Name.Class三种属性,Xpa…
web driver提供了八种元素定位的方法: id name class name tag name link text partial link text xpath css selector 如百度首页,百度一下按钮的元素信息 <input type="submit" id="su" value="百度一下" class="bg s_btn"> 百度首页新闻的页面的元素信息 <a href="…
源  起 最近在写一个类似“围住神经猫”的应用,现在需要给一个可以移动的Paint元素指定一张图片,如下图,要把黄点改成其他图片: Paint所在的类继承于SurfaceView,SurfaceView可以直接从内存等硬件接口获取图像数据,速度很快:然后再implements 一个OnTouchListener接口来监听触摸事件: 过  程 最初找到很多方法,给playground添加图片.给Activity添加图片.另写一个工具类加载图片...都很繁琐,而且代码加进去运行的时候总是Crash,…
web driver提供了八种元素定位的方法: id, name, class name, tag name, link text, partial link text, xpath, css selector 如百度首页,百度一下按钮的元素信息 <input type="submit" id="su" value="百度一下" class="bg s_btn"> 百度首页新闻的页面的元素信息 <a href…
By.id,By.name,By.tagName,By.className,By.linkText,By.partialLinkText,By.xpath,By.cssSelector <a href=http://news.baidu.com target=_blank class=mnav>新闻</a> By.linkText("新闻"): By.partialLinkText("闻"):By.partialLinkText("…
昨天接到一个在h5获取经纬度的需求,看了文档后,代码其实很简单,但在浏览器上调试就比较蛋疼了... 代码: function successfulCallback(position) { console.log('-----------successfulCallback--------',position) alert("获取地理位置成功!"); var latitude = position.coords.latitude; var longitude = position.coo…
1.单例模式引起的内存泄露 由于单例模式的静态特性,使得它的生命周期和我们的应用一样长,如果让单例无限制的持有Activity的强引用就会导致内存泄漏如错误代码示例: public class UserInfoBean { private static UserInfoBean userInfoBean; private Context mContext; private UserInfoBean(Context context) { this.mContext = context; } pub…
假设listitem里面包含button或者checkbox等控件,默认情况下listitem会失去焦点,导致无法响应item的事件,最经常使用的解决的方法 是在listitem的布局文件里设置descendantFocusability属性. item的布局文件: <? xml version="1.0" encoding="utf-8"? > <RelativeLayout xmlns:android="http://schemas.…
css在设置body的宽度为100%充满整个屏幕时,当浏览器缩小时块状元素会被挤压下去 解决方案非常简单,给body设置一个最小宽度 min-width:960px; 此时即使浏览器缩小,在960像素的范围内块状元素依旧会保持原有的宽度…