云实验平台自动化实践:从页面逆向到 API 全链路打通
把重复性的云实验操作交给自动化,是最近一周我投入产出比最高的一次实践。这篇笔记复盘从页面逆向到 API 打通的完整过程。
一、起点:为什么自动化
实验平台的操作路径很深:登录、领名额、开沙箱、进工作台、结束实验,全流程手工要点七八步。目标是把它压缩成脚本五分钟跑完。
二、页面逆向方法论
1、先观察网络请求:在实验列表页与详情页,把页面发起的接口全部记录下来,按出现顺序排列,就能还原出前端的状态机;
2、令牌链路:实验平台与主站是两套鉴权,进入实验域时页面会调用一个登录接口换取短时效 token(约四小时),自动化脚本需要先走这一步;
3、免费名额机制:每个实验每日有免费名额,领取接口的参数只有一个实验 ID,但直接调用主启动接口仍会被实验点校验拦截——说明免费名额与启动是两个独立步骤。
三、关键发现:UI 路由才是启动入口
接口层反复尝试启动都被"实验点不足"拒绝,转而分析前端 bundle:从压缩代码里还原出"开始实验"按钮的完整调用链,发现免费名额领取成功后,前端直接通过路由跳转进入工作台,沙箱由工作台页面拉起——启动接口并非必经之路。工作台路由的参数格式为「topology_id_实验id_序号_时间戳」,其中 topology 从实验详情接口获取。
四、自动化收尾
进入工作台后补一次心跳(证明会话活跃),再调用结束接口提交手动完成场景,积分判定即生效。从登录到结束全程接口化,无需真实操作控制台。
五、心得
1、逆向 SPA 页面时,网络请求时间线 + 前端 bundle 源码是最佳组合:前者给出接口清单,后者给出调用条件与参数来源;
2、"接口报错"不一定代表此路不通,可能是校验层级不同——换 UI 路径绕过校验层往往豁然开朗;
3、压缩代码里保留的路由模板字符串是最有价值的线索。
以上为个人实践整理,欢迎交流。
- 点赞
- 收藏
- 关注作者
评论(0)