Fiddler:在哪里为m_SimulateModem添加IF语句?

问题描述 投票:1回答:1

我想将以下代码添加到fiddler:

if (m_SimulateModem) {
    // Delay sends by 300ms per KB uploaded.
    oSession["request-trickle-delay"] = "300"; 
    // Delay receives by 150ms per KB downloaded.
    oSession["response-trickle-delay"] = "150"; 
}

我已经将m_simulatemodem设置为true(var m_SimulateModem: boolean = true;),但我不知道哪个事件我应该添加上面的代码片段。

我尝试在static function OnBeforeRequest(oSession: Session)中添加它,但似乎没有做任何事情。

基本上,我想模拟一个非常低的速度,以便任何浏览器使用返回连接已超时或ERR_CONNECTION_TIMED_OUT

networking windows-7 fiddler
1个回答
0
投票

Fiddler Performance Testing guide明确指出request-trickle-delay必须用于OnBeforerequest

模拟调制解调器上传(添加到OnBeforeRequest功能)

`oSession["request-trickle-delay"] = "300";`

response-trickle-delay必须在OnBeforeResponse中使用:

要测试应用程序性能,请使用FiddlerScript将规则添加到OnBeforeResponse函数中(除非另有说明)。例如:

oSession["response-trickle-delay"] = "150";

但是我假设使用这两种设置你不会强迫你的浏览器遇到ERR_CONNECTION_TIMED_OUT

300的设置意味着每300毫秒一KB,因此我们最终以每秒3KB或约2400KBit的速度结束。这是20世纪最后十年的一个好老调制解调器的连接速度。这可能需要一些时间,但只要数据流连续传递,所有请求都将起作用。

当客户端尝试联系服务器但服务器未响应TCP请求时(例如,因为端口未侦听或服务器被过多流量阻止),会发生连接超时。

最简单的模拟方法是使用现有服务器并重写服务器端口,以便请求超时,因为没有服务器侦听指定端口:

// make requests to www.example.org end up in a connection time-out
if (oSession.HostnameIs("www.example.org")) {
  oSession.hostname="www.example.org:12345";
}
© www.soinside.com 2019 - 2024. All rights reserved.