calabash 同时支持 ios 和 Android 平台,这里只介绍 ios 平台。
calabash-ios 整个框架采用 C/S 的运行模式,系统架构如下图所示:
框架图解释如下:
1、Runner 负责接受用户指令,并对其进行数据校验、指令转换等操作,
2、之后将其交给客户端处理(这里的客户端是指运行 pc 上的代码),
3、客户端将指令发送给对应服务器 http server(这里的服务器就是编译进 app 中的 calabash.framework),
服务器将解析发送过来的脚本,并与 app 进行交互,请求其执行对应操作,
4、所有执行结果最终会被收集到 Results 中。
Calabash - iOS 服务器是基于 Frank 构建的,Frank 也是一种基于 cucumber 的自动化测试框架。