关于adb4robotium跨进程框架抛出InputStream cannot be null的异常的解决方案
2015-02-03 13:07
471 查看
之前我写的关于利用adb框架来进行robotium跨进程操作的文章中,有些朋友使用真机进行测试时,遇到一个比较奇怪的问题,会抛出"InputStream cannot be null"的异常。经过检查发现是由于代码中要生成的uidump.xml文件并没有在目标文件夹中生成,导致后面在使用File对象处理时,直接抛异常了。
这个问题其实比较怪异,经分析问题原因是跟adb命令在robotium框架中使用时,由于robotium是运行在手机端的,它跟在PC上使用有着比较大的差异。在手机端运行adb命令必须严格遵循android系统对权限的规定。具体的分析可以见我的这篇文章:http://blog.csdn.net/qingchunjun/article/details/43343735。所以在真机环境下,由于环境的不同,原框架代码是不能直接使用的,需要相应的修改,主要是修改生成uidump.xml那个方法,以及input命令的发送方式(由于在android中不同进程要模拟按键操作需要injectEvent权限,所以必须要root之后才能使用)。具体的代码及修改后的jar可以从这里下载:http://download.csdn.net/detail/qingchunjun/8508239。
如果是遇到这个问题的朋友,可以使用这个新的jar包试试。如果有问题的话,欢迎在留言中给我提出来,谢谢。
这个问题其实比较怪异,经分析问题原因是跟adb命令在robotium框架中使用时,由于robotium是运行在手机端的,它跟在PC上使用有着比较大的差异。在手机端运行adb命令必须严格遵循android系统对权限的规定。具体的分析可以见我的这篇文章:http://blog.csdn.net/qingchunjun/article/details/43343735。所以在真机环境下,由于环境的不同,原框架代码是不能直接使用的,需要相应的修改,主要是修改生成uidump.xml那个方法,以及input命令的发送方式(由于在android中不同进程要模拟按键操作需要injectEvent权限,所以必须要root之后才能使用)。具体的代码及修改后的jar可以从这里下载:http://download.csdn.net/detail/qingchunjun/8508239。
如果是遇到这个问题的朋友,可以使用这个新的jar包试试。如果有问题的话,欢迎在留言中给我提出来,谢谢。
相关文章推荐
- adb4robotium跨进程框架抛出InputStream cannot be null的异常的解决方案
- 关于Strust的异常信息:java.lang.IllegalArgumentException: Resources cannot be null.
- 关于Eclipse报:" cannot be read or is not a valid ZIP file"的解决方案
- 史上最简单Robotium跨进程操作实践——基于ADB框架
- 异常记录001—hibernate 4.2.4 Final 测试出现Connection cannot be null when 'hibernate.dialect' not set
- 异常:node to traverse cannot be null! 的错误分析
- 关于druid数据连接池抛出的 connection holder is null 异常
- 关于Person_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy异常,hibernate的懒加载异常
- maven项目 关于Eclipse报:" cannot be read or is not a valid ZIP file"的解决方案
- 关于SqlRowSet的Invalid scale size. Cannot be less than zero异常
- 关于Expected one result (or null) to be returned by selectOne(), but found: 3。。。。异常
- 史上最简单 Robotium 跨进程操作实践——基于 ADB 框架
- 史上最简单Robotium跨进程操作实践——基于ADB框架
- 异常:java.lang.IllegalArgumentException: node to traverse cannot be null!
- 关于database product name cannot be null的解决方法
- 关于SqlRowSet的Invalid scale size. Cannot be less than zero异常
- 关于利用动态代理手写数据库连接池的异常 java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to java.sql.Connection
- 关于druid数据连接池抛出的 connection holder is null 异常
- 关于Eclipse导入的Maven项目报:" cannot be read or is not a valid ZIP file"错误的解决方案
- 关于druid数据连接池抛出的 connection holder is null 异常