rubotium自动化测试APP(一)
2017-01-04 14:10
351 查看
今天先简单的介绍rubotium,在Android studio里面的安装录制和回放
1.导入app项目源码
导完以后,需要加载jar包
2.装插件RobotiumRecorder,在Android studio里面安装就好了,不过官方试用只有一个月,过期就需要购买了。
3.点击录制
4.录制完成。自动生成
5.自动生成代码,别看代码这么多,都是自动生成的,很方便,自动识别ID
6.根据右上角提示重新构建
7.运行配置
8.点击运行 就自动在手机上自动运行刚才录制的一系统操作了。
注意:
a.用这个录制放回,的确会方便,但是只能录制最基本的activity之类的,一些APP里面‘插件’fragment之类的,无法录制,只有手动调用方法。而现在很多APP里面都是用‘插件’,来完成一些效果。所以需要适当的提供测试的代码阅读能力。
b.现在很多APP迭代很快,这种通过获取ID进行操作的,一旦布局控件发生变化,改动量是非常大的。
最后再来说说以一系列操作的原理吧,这也是我在以为大神那边学习借鉴来的。
整个框架从功能上来分主要有三部分,它们是local_pc,Messager service和TestRunner;
1)local_pc部署在pc机器上,主要负责在本地执行testcases、发送控制消息到远程设备和记录TestRunner反馈数据的工作;主要模块有:solotests,remotecontrol,solo和messagesender;
2)Messager service部署在android设备上,它作为local_pc和TestRunner的沟通者,通过与local_pc建立socket连接来实现双向tcp通信,同时使用双向通信android.os.messager来实现Messager service与instrumentation testrunner的ipc通信;Messager
service主要包括pc通信模块和ipc通信模块;
3)TestRunner部署在android设备上,它是Inustrumentation TestRunner,它根据从messager service接收到的消息调用合适的processer,processer会启动运行相应app的ActivityInstrumentationTestCase2实现类的setUp方法,该方法中首先启动目标app的入口activity,之后将控制权交给solo实例,在solo实例中通过Inustrumentation来真正控制目标app的行为;整个控制过程中TestRunner通过Messager
service与local pc进行交互,实时接收local pc传过来的动作指令消息并反馈动作执行结果,solo则封装了Inustrumentation对app的控制行为;
后期我会对录制下来的代码做一个简单的框架,因为录制下来的代码,实在有点惨不忍睹。谢谢大家以后可以继续关注。
1.导入app项目源码
导完以后,需要加载jar包
2.装插件RobotiumRecorder,在Android studio里面安装就好了,不过官方试用只有一个月,过期就需要购买了。
3.点击录制
4.录制完成。自动生成
5.自动生成代码,别看代码这么多,都是自动生成的,很方便,自动识别ID
6.根据右上角提示重新构建
7.运行配置
8.点击运行 就自动在手机上自动运行刚才录制的一系统操作了。
注意:
a.用这个录制放回,的确会方便,但是只能录制最基本的activity之类的,一些APP里面‘插件’fragment之类的,无法录制,只有手动调用方法。而现在很多APP里面都是用‘插件’,来完成一些效果。所以需要适当的提供测试的代码阅读能力。
b.现在很多APP迭代很快,这种通过获取ID进行操作的,一旦布局控件发生变化,改动量是非常大的。
最后再来说说以一系列操作的原理吧,这也是我在以为大神那边学习借鉴来的。
整个框架从功能上来分主要有三部分,它们是local_pc,Messager service和TestRunner;
1)local_pc部署在pc机器上,主要负责在本地执行testcases、发送控制消息到远程设备和记录TestRunner反馈数据的工作;主要模块有:solotests,remotecontrol,solo和messagesender;
2)Messager service部署在android设备上,它作为local_pc和TestRunner的沟通者,通过与local_pc建立socket连接来实现双向tcp通信,同时使用双向通信android.os.messager来实现Messager service与instrumentation testrunner的ipc通信;Messager
service主要包括pc通信模块和ipc通信模块;
3)TestRunner部署在android设备上,它是Inustrumentation TestRunner,它根据从messager service接收到的消息调用合适的processer,processer会启动运行相应app的ActivityInstrumentationTestCase2实现类的setUp方法,该方法中首先启动目标app的入口activity,之后将控制权交给solo实例,在solo实例中通过Inustrumentation来真正控制目标app的行为;整个控制过程中TestRunner通过Messager
service与local pc进行交互,实时接收local pc传过来的动作指令消息并反馈动作执行结果,solo则封装了Inustrumentation对app的控制行为;
后期我会对录制下来的代码做一个简单的框架,因为录制下来的代码,实在有点惨不忍睹。谢谢大家以后可以继续关注。
相关文章推荐
- 使用Android+smack4.1.4+openfire进行IM开发
- Android Notifaction 从4.0到7.0
- Android 柱状图 统计图的实现
- Android SDK 在线更新镜像服务器资源
- android异常
- Android 简单的拍照并获取图片
- Unity着色器教程 | 积雪效果(改进版 原版本有问题)
- Dynatrace AppMon最佳实践(一)
- Android之WebView在Fragment中实现返回上一个网页
- 垃圾的Android-ListView-setEmptyView
- android复习路之java基础上
- 进度条ProgressDialog使用指南
- android针对对不导航栏遮挡问题解决办法
- Android seekbar自定义
- iOS开发:集成支付宝(遇见的坑和便捷撸代码)
- iOS 根据地址名称 调取系统导航
- 【Android】阅读Android源码的一些姿势
- android关于EventBus优化Application
- Android学习之 Manifest中meta-data扩展元素数据的配置与获取
- Android:控件WebView显示网页