gpt4 book ai didi

javascript - 模拟连接错误

转载 作者:可可西里 更新时间:2023-11-01 02:43:10 27 4
gpt4 key购买 nike

一段时间以来,我们一直在使用 protractor 进行端到端测试。

现在我们正在尝试涵盖几个极端情况,其中涉及修改来自 API 端点请求的响应 - 为此我们使用 protractor-http-mock它提供了一种易于使用的方法来用预定义的模拟替换 HTTP 响应。

但是,如果我们想测试突然断开连接的情况怎么办?在这种情况下我们有哪些选择?

换句话说,我们想要实现一种情况,即对特定端点的请求会产生网络连接错误,并查看我们的应用程序将如何 react 。


我愿意接受任何建议,我目前正在考虑以下策略:

  • 看看有没有类似protractor-http-mock的第三方nodejs库
  • 模拟 $http angularjs 服务
  • 启动代理并在测试期间以某种方式控制它(grunt-connect-proxy 看起来相当成熟,但我不确定是否有可能根据规范动态更改代理的行为 )
  • 在浏览器级别对其进行控制 - 例如具有网络节流 google chrome 功能(尽管我很确定这是 selenium 无法控制的,Network throttling with chrome and selenium)(浏览器插件/扩展?)

最佳答案

Comcast 工具似乎可以提供您需要的大部分功能:

Comcast is a tool designed to simulate common network problems like latency, bandwidth restrictions, and dropped/reordered/corrupted packets.

It works by wrapping up some system tools in a portable(ish) way. On BSD-derived systems such as OSX, we use tools like ipfw and pfctl to inject failure. On Linux, we use iptables and tc. Comcast is merely a thin wrapper around these controls.

https://github.com/tylertreat/Comcast

Linux 上的示例:

comcast --device=eth0 --latency=250 --target-bw=1000 --default-bw=1000000 --packet-loss=10% --target-addr=8.8.8.8,10.0.0.0/24 --target-proto=tcp,udp,icmp --target-port=80,22,1000:2000

您可以即时更改设置,并根据需要将丢包率设置为 100%。

关于javascript - 模拟连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29382656/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com