rubotium自动化测试APP(一)

时间:2021-03-26 18:36:36

今天先简单的介绍rubotium,在Android studio里面的安装录制和回放

1.导入app项目源码

rubotium自动化测试APP(一)

导完以后,需要加载jar包

rubotium自动化测试APP(一)


2.装插件RobotiumRecorder,在Android studio里面安装就好了,不过官方试用只有一个月,过期就需要购买了。


3.点击录制 
rubotium自动化测试APP(一)

4.录制完成。自动生成

rubotium自动化测试APP(一)


5.自动生成代码,别看代码这么多,都是自动生成的,很方便,自动识别ID

rubotium自动化测试APP(一)


6.根据右上角提示重新构建

7.运行配置

rubotium自动化测试APP(一)


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的控制行为; 

后期我会对录制下来的代码做一个简单的框架,因为录制下来的代码,实在有点惨不忍睹。谢谢大家以后可以继续关注。