面向浏览器 AJAX 请求的 Puffing Billy 代理录制
当 Ruby 的 HTTP 记录器无法观察该网络路径时,让浏览器发起的 AJAX 流量经过录制代理。
Ruby 测试可以启动一个自行发起 AJAX 调用的浏览器。挂在 Ruby 客户端库上的 HTTP 记录器不会自动观察到那个独立浏览器进程所建立的连接。
面向浏览器的录制代理位于这些请求所使用的路径上:
browser → recording forward proxy → external service
browser → recording forward proxy → recorded responsePuffing Billy 为 Ruby 浏览器测试提供了这种安排。针对所选浏览器驱动使用它的集成,然后按场景需要定义响应或持久录制。
匹配实际请求,包括方法和代理预期的 URL 表示形式。文档中给出的 HTTPS 存根形式包含显式端口,例如 https://api.example:443/status。
选择未匹配的请求如何处理。让它到达线上服务,是一种测试;在没有录制时拒绝它,则给离线场景更清晰的边界。让录制足够具体,以免不同的提交内容意外得到同一个预置答案。
对于远程浏览器,代理监听器必须能从该浏览器的机器或容器访问。测试运行器进程中的 Localhost 并不等于另一台主机上的同一个监听器。