Ruby 测试可以启动一个自行发起 AJAX 调用的浏览器。挂在 Ruby 客户端库上的 HTTP 记录器不会自动观察到那个独立浏览器进程所建立的连接。

面向浏览器的录制代理位于这些请求所使用的路径上:

browser → recording forward proxy → external service
browser → recording forward proxy → recorded response

Puffing Billy 为 Ruby 浏览器测试提供了这种安排。针对所选浏览器驱动使用它的集成,然后按场景需要定义响应或持久录制。

匹配实际请求,包括方法和代理预期的 URL 表示形式。文档中给出的 HTTPS 存根形式包含显式端口,例如 https://api.example:443/status。

选择未匹配的请求如何处理。让它到达线上服务,是一种测试;在没有录制时拒绝它,则给离线场景更清晰的边界。让录制足够具体,以免不同的提交内容意外得到同一个预置答案。

对于远程浏览器,代理监听器必须能从该浏览器的机器或容器访问。测试运行器进程中的 Localhost 并不等于另一台主机上的同一个监听器。

相关文章