Calabash calabash-android 原理分析

tunsuy · 2015年03月09日 · 1493 次阅读

在前面已经简单的介绍了 calabash-ios 的原理,这里将继续分析 calabash-Android 端的原理

calabash-ios 原理分析

calabash-android 架构其实与 IOS 是相同的,
1、内部使用核心为 cucumber 的 calabash 的脚本在运行测试的时候会在虚拟机/真机上预装一个 web 服务器,这个 web 服务器就是解释 calabash 的脚本,

2、因为 calabash-Android 是基于 robotium 框架的,所以在机器上预装的 web-server 会将下发下来的 calabash 脚本解释为 robotium 的脚本,然后向测试 app 发送 robotium 的脚本,

3、因为 robotium 框架就是封装的 google 测试框架 instumentation,所以 app 拿到 robotium 脚本后,将其解释为 instumentation 命令向被测试的 app 发送这些命令,被测试的 app 执行这些命令,然后将结果返回。

calabash-Android 整个框架采用 C/S 的运行模式,系统架构如下图所示:

框架图解释如下:

1、Runner 负责接受用户指令,并对其进行数据校验、指令转换等操作,之后将其交由客户端处理(这里的客户端是指运行在 pc 上的用户自己编写的代码),

2、instrumentation test server 就是预装在设备上的 web-server,客户端在接收到指令之后,将指令发送给它,请求其执行对应操作,

3、web-server 在接收到指令之后,解释该命令并与 app 进行交互,

4、所有执行结果最终会被收集到 Results 中。

共收到 0 条回复 时间 点赞
子非鱼 行业流行测试框架对比 中提及了此贴 03月18日 21:59
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册