Skip to content

Commit 6118939

Browse files
Natallia HarshunovaOrKoN
authored andcommitted
Prevent devtools from override netwrok conditions
1 parent 1f222ec commit 6118939

2 files changed

Lines changed: 36 additions & 1 deletion

File tree

src/DevtoolsUtils.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,41 @@ export class FakeIssuesManager extends DevTools.Common.ObjectWrapper
2929
// DevTools CDP errors can get noisy.
3030
DevTools.ProtocolClient.InspectorBackend.test.suppressRequestErrors = true;
3131

32+
// Stub out Network emulation commands on the DevTools Agent prototype globally.
33+
// This prevents the DevTools Frontend from ever resetting/clearing Puppeteer's
34+
// active network blocking/throttling rules during target setup or session lifetime.
35+
const networkAgentPrototype =
36+
DevTools.ProtocolClient.InspectorBackend.inspectorBackend.agentPrototypes.get(
37+
'Network',
38+
);
39+
if (networkAgentPrototype) {
40+
Object.defineProperty(
41+
networkAgentPrototype,
42+
'invoke_emulateNetworkConditionsByRule',
43+
{
44+
value: () => {
45+
return Promise.resolve({
46+
ruleIds: [],
47+
getError: () => undefined,
48+
});
49+
},
50+
writable: true,
51+
configurable: true,
52+
enumerable: true,
53+
},
54+
);
55+
Object.defineProperty(networkAgentPrototype, 'invoke_overrideNetworkState', {
56+
value: () => {
57+
return Promise.resolve({
58+
getError: () => undefined,
59+
});
60+
},
61+
writable: true,
62+
configurable: true,
63+
enumerable: true,
64+
});
65+
}
66+
3267
DevTools.I18n.DevToolsLocale.DevToolsLocale.instance({
3368
create: true,
3469
data: {
@@ -143,6 +178,7 @@ const DEFAULT_FACTORY: TargetUniverseFactoryFn = async (page: Page) => {
143178
const connection = new PuppeteerDevToolsConnection(session);
144179

145180
const targetManager = universe.context.get(DevTools.TargetManager);
181+
146182
targetManager.observeModels(DevTools.DebuggerModel, SKIP_ALL_PAUSES);
147183
targetManager.observeModels(
148184
DevTools.NetworkManager.NetworkManager,

tests/network_blocking.test.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ describe('Network Blocking Integration', () => {
7676
},
7777
{
7878
blockedUrlPattern: [server.getRoute('/blocked.html')],
79-
executablePath: process.env.CHROME_M149_EXECUTABLE_PATH,
8079
},
8180
);
8281
});

0 commit comments

Comments
 (0)