我有一个与几个不同 API 通信的单页应用程序,我希望限制对特定 API 的请求以进行测试。是否可以使用 Chrome DevTools 通过网络节流来指定域?
我知道您可以在 Chrome 中限制网络并通过“网络条件”选项卡模拟慢速连接(例如常规 3G 连接),但这会影响所有请求。我希望只影响一个特定的 API 来模拟其他服务真的很慢但所有其他服务都很好的情况。
我有一个与几个不同 API 通信的单页应用程序,我希望限制对特定 API 的请求以进行测试。是否可以使用 Chrome DevTools 通过网络节流来指定域?
我知道您可以在 Chrome 中限制网络并通过“网络条件”选项卡模拟慢速连接(例如常规 3G 连接),但这会影响所有请求。我希望只影响一个特定的 API 来模拟其他服务真的很慢但所有其他服务都很好的情况。
如果您可以更改 URL,则有一个站点http://www.deelay.me/是 HTTP 资源的延迟代理。例如,如果您希望 URL http://example.com/example延迟 5 秒,请将其更改为http://www.deelay.me/5000/http://example.com/example。
不,Chrome DevTools 网络限制不允许您进行选择性限制。
如果你想模拟特定的服务很慢并且你让它们在你的本地机器上运行,我会推荐安装一个限制代理(例如Charles 代理)。
如果部署了这些服务并且您仍然想模拟缓慢的响应,我会尝试修改/etc/hosts
以指向本地 charles 代理。
现在有人为此构建了一个 chrome 扩展 - URL Throttler。
Chrome 开发者工具不允许选择性地限制网络请求。我发现这个 reddit 帖子 - https://www.reddit.com/r/chrome/comments/ogun3w/limitations_of_chrome_devtools_throttle_network/ 涵盖了 3 种延迟网络请求的方法。
本文很好地解释了所有这三种方法 - https://requestly.io/blog/2021/07/02/adding-delay-to-network-requests/
为了进行特定于域的请求限制,您可以使用方法 3。您可以配置Requestly Delay Network Request
规则以添加延迟。
您可以按照以下步骤
Delay Request
规则类型注意事项- 应用延迟请求时应具体说明,因为它会使您的浏览体验非常缓慢。如果在多个请求上添加延迟时需要请求类型,则应添加过滤器
只需单击延迟请求规则中的过滤器图标,然后您可以选择请求类型,例如 -JS
CSS
或XHR
多次使用这个。这行得通。
参考
免责声明:我请求构建(并且仍然满怀热情地构建)
这个network-spinner-devtool是一个浏览器 devtools 扩展,具有 URL 级别的配置和控制能力,允许在发送 http 请求之前或接收响应之后引入延迟(仅在 firefox 中支持)。
它同时支持 Chrome 和 Firefox 浏览器
也可以从 Chrome 网上商店安装Chrome DevTools