手把手教你ranorex_android源码instrument
来源:互联网 发布:东风汽车有限公司知乎 编辑:程序博客网 时间:2024/06/08 14:50
话说ranorex能把android程序看的透彻,关键是在潜伏,他使用instrumentation,在每个界面(activity)里面,准确的说是onresume,也就是页面显示的时候,都给安装了个钩子(hook),等到界面不显示了,也就是pause了,就去掉这个hook,所以ranorex才能对android程序的界面元素一清二楚。
好吧,我说说具体步骤:
instrumentation处理源文件:
1. 在源文件工程中引用:ranorex.jar,位置在:C:\安装目录\Ranorex 4.1\Bin\ RxEnv\Android\
001.png
2. 给所有的activity加上代码:
@Override
public void onResume()
{
super.onResume();
com.ranorex.android.RanorexAndroidAutomation.Hook(this);
}
@Override
public void onPause()
{
super.onPause();
com.ranorex.android.RanorexAndroidAutomation.UnHook(this);
}
@Override
public boolean dispatchKeyEvent(android.view.KeyEvent event)
{
com.ranorex.android.RanorexAndroidAutomation.Key(event);
return super.dispatchKeyEvent(event);
}
3. 添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.INJECT_EVENTS" />
002.png
这个意思是只有系统应用程序才可以使用这个权限,在程序中插入事件,绝对不是干好事的。^_^
不用搭理他,project-clean一下,报错就消失了,编译能通过的。
4. 添加版本号
帮助中说明:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="YOUR PACKAGE"
android:versionCode="YOUR CODE VERSION"
android:versionName="YOUR VERSION NAME (RxInstrumented$<RANOREX-VERSION>)">
原文:
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.amem"
android:versionCode="1"
android:versionName="1.0">
修改为:
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.amem"
android:versionCode="1"
android:versionName="1.0(RxInstrumented$4.1.5)>">
版本号查看方法:
003.png
好了,这就搞定了,编译成apk就可以用来测试了。
其实在deploy的时候,勾选上instrument就工具就自动帮你搞定了,是不是有点崩溃,这篇文章白看了。^_^
- 手把手教你ranorex_android源码instrument
- 手把手教你ranorex_android自动化测试第一个示例
- 手把手教你如何查看chrome插件源码(手把手教你系列一)
- 源码干货 | 手把手教你使用TensorFlow生成对抗样本
- 手把手教你批处理
- 手把手教你做小抄
- 手把手教你申请专利
- 手把手教你ARC
- 手把手教你用动软
- 手把手教你用动软
- 手把手教你系列
- 手把手教你系列
- 手把手教你系列
- 手把手教你写批处理
- 手把手教你啤酒鸭
- 手把手教你写批处理
- 手把手教你写批处理
- 手把手教你写批处理
- WebGL js游泳池效果 很棒
- [Android源码分析]蓝牙文件传输过程解析之UI实现
- AMD抢占市场,NVIDIA坐吃山空?
- POJ 3264 Balanced Lineup 线段树入门(点的查找)
- linux下的环境变量
- 手把手教你ranorex_android源码instrument
- struts2由浅入深专题分享——关于struts2 第一回 工作原理及流程 by:丹恋耗
- 为什么用vs写的程序在XP上不能运行
- Flex pipeChart单元分离突出显示
- d3学习之(Data Visualization with d3.js Cookbook )(第三章)-4
- jquert 技巧大放送
- JAVA中StringBuffer与String的区别
- Servlet 工作原理解析
- 死锁