blob: b0e2b970490143daae65bdd5a98973fa4b5db377 [file] [log] [blame]
(async function(testRunner) {
var {page, session, dp} = await testRunner.startBlank(
`Tests to ensure error message on request cancelled while intercepting response.`);
session.protocol.Network.onRequestIntercepted(async event => {
testRunner.log('Request Intercepted: ' + event.params.request.url.split('/').pop());
testRunner.log('Aborting request');
session.evaluate(`window.xhr.abort();`);
await new Promise(resolve => session.protocol.Network.onLoadingFailed(resolve));
testRunner.log('Renderer received abort signal');
testRunner.log('Continuing intercepted request');
var result = await session.protocol.Network.continueInterceptedRequest({interceptionId: event.params.interceptionId});
testRunner.log('Error message: ' + result.error.message);
testRunner.log('');
testRunner.completeTest();
});
await session.protocol.Network.clearBrowserCookies();
await session.protocol.Network.clearBrowserCache();
await session.protocol.Network.setCacheDisabled({cacheDisabled: true});
session.protocol.Network.enable();
testRunner.log('Network agent enabled');
await session.protocol.Network.setRequestInterception({patterns: [{urlPattern: "*", interceptionStage: 'HeadersReceived'}]});
await new Promise(resolve => {
session.protocol.Network.onResponseReceived(resolve);
session.evaluate(`
window.xhr = new XMLHttpRequest();
// This script will send headers then wait 10 seconds before sending body.
window.xhr.open('GET', '/devtools/network/resources/resource.php?send=10000&nosniff=1', true);
window.xhr.send();
`);
});
})