// Load the NetMonitor head.js file to share its API. var netMonitorHead = "chrome://mochitests/content/browser/devtools/client/netmonitor/test/head.js";
Services.scriptloader.loadSubScript(netMonitorHead, this);
info("Trigger Copy All As HAR from the context menu"); const onHarCopyDone = HarMenuUtils.once("copy-all-as-har-done");
await selectContextMenuItem(monitor, "request-list-context-copy-all-as-har"); const jsonString = await onHarCopyDone;
if (asString) { return jsonString;
} return JSON.parse(jsonString);
}
/** * Trigger a "save as har" from the context menu of the requests list.
* @param {Object} monitor * The network monitor object
*/
async function saveAsHARWithContextMenu(monitor, { asString = false } = {}) {
info("Open the context menu on the first visible request."); const firstRequest =
monitor.panelWin.document.querySelectorAll(".request-list-item")[0];
info("Trigger Save As HAR from the context menu");
await selectContextMenuItem(monitor, "request-list-context-save-as-har");
info("Mock the file picker dialog to save the HAR file to disk"); const MockFilePicker = SpecialPowers.MockFilePicker;
MockFilePicker.init(window.browsingContext); const nsiFile = new FileUtils.File(
PathUtils.join(PathUtils.tempDir, `save_as_har-${Date.now()}.har`)
);
MockFilePicker.setFiles([nsiFile]); const path = nsiFile.path;
info("Wait for the downloaded file to be fully saved to disk");
await BrowserTestUtils.waitForCondition(() => IOUtils.exists(path));
await BrowserTestUtils.waitForCondition(async () => { const { size } = await IOUtils.stat(path); return size > 0;
}); const buffer = await IOUtils.read(path); const savedFileContent = new TextDecoder().decode(buffer);
if (asString) { return savedFileContent;
} return JSON.parse(savedFileContent);
}
¤ Dauer der Verarbeitung: 0.15 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.