# 与磐石协作
# 初衷
磐石是培优的接口自动化测试平台,平台上维护着大量的业务接口和接口用例,但接口的自动化测试无法展现实际app的操作场景,也就是UI层面是接口无法碰触的。
轻舟作为通用性UI自动化测试工具,可以将磐石接口用例整合起来,在轻舟的UI自动化用例中,可以将用例中的步骤与磐石接口用例做绑定,能否绑定取决于步骤是否能触发相应的磐石接口。
做好绑定后,我们可以在执行轻舟UI自动化用例过程中,通过代理拦截绑定的http/https接口请求,篡改响应结果返回给原App,可以主动去模拟(也叫Mock)异常结果,查验App前端是否做了正确处理。
# 代理服务
轻舟内部实现了一个轻量的代理服务,用来替代第三方代理工具,如Fiddlers、Charles等。
# 手机代理服务设置
首先需要启动手机代理服务,设置方法请看:代理服务
注意:手机代理服务启动后,如果轻舟代理服务未启动,此时手机中的任何请求都无法访问。
# 轻舟代理服务启动
- 选择一个用例打开,启动轻舟调试 -> 准备调试
- 打开开启调试开关,如下图所示

# 接口绑定
在轻舟代理开启之后,我们需要打开拦截请求的开关,打开后,我们调试某个步骤,会自动抓取所有接口请求,如下图所示:
比如,我们与图中的登录接口绑定,点击右侧的绑定,打开绑定磐石接口用例的对话框:
依次选择磐石接口、磐石接口步骤以及绑定接口的用例,最后选择一个磐石接口用例调试,调试结果,作为自定义响应结果存储到轻舟自身数据库。
点确定后,会临时保存绑定状态,当保存脚本后,才真正永久绑定。
绑定后,你可以重新修改绑定状态,或者删除绑定状态,或者调试这个接口,调试这个接口的意思是:执行这个步骤,拦截这个请求,将存储到轻舟的响应结果返回给app。
# 执行任务
在用例列表中,选择要执行的用例,在更多操作菜单中,选择执行
会打开创建执行任务的页面,如下图所示:
# 代理设置
代理设置在开启代理后,有个响应数据来源的选择,分别是轻舟和磐石,如果选择磐石,则在拦截到这个步骤后,会向磐石请求绑定的接口用例的响应数据,将它返回给App。
如下图所示:
# 选择用例
用例的数量是根据前者代理设置的情况来定的,分三种:
- 不开启代理:用例只有一个,即被选择的用例,此时该用例不会拦截任何请求,也不会启动代理服务
- 开启代理,响应数据来源为轻舟:可执行用例数为用例所绑定的磐石接口数
- 开启代理,响应数据来源于磐石:可执行用例数为用例所绑定的磐石接口用例数量
以响应数据来源与磐石为例,如下图所示:
一个用例,分化出4个用例,这是因为这个接口绑定了4个磐石接口用例。
# 选择设备
支持选择多个设备,当选择多个设备后,多个设备会并发去执行这些用例,可以减少执行时间。
# 执行报告
任务执行完成后,会在用例报告中展示mock的数据和情况。
- 被mock的步骤,会有一个
的标记
- 在概况以及被mock的步骤会展示mock的信息,如是否mock成功、响应数据、响应来源、磐石接口相关信息等
如下图所示: