/* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ "use strict"; const HAR_FILENAME = "test_filename.har"; // We expect the HAR file to be created on reload in profD/har/logs const HAR_PATH = ["har", "logs", HAR_FILENAME]; /** * Smoke test for automated HAR export. * Note that the `enableAutoExportToFile` is set from browser-harautomation.ini * because the preference needs to be set before starting the browser. */ add_task(async function () { // Set a simple test filename for the exported HAR. await pushPref("devtools.netmonitor.har.defaultFileName", "test_filename"); const tab = await addTab(SIMPLE_URL); const toolbox = await gDevTools.showToolboxForTab(tab, { toolId: "inspector", }); info("Wait until the HAR file is created in the profile directory"); const harFile = new FileUtils.File( PathUtils.join(PathUtils.profileDir, ...HAR_PATH) ); ok(!harFile.exists(), "HAR file doesn't exists before reload"); await reloadSelectedTab(); await waitUntil(() => harFile.exists()); ok(harFile.exists(), "HAR file was automatically created"); // Remove the test file so that we can re-run this test without resolving right away. harFile.remove(false); await toolbox.destroy(); await removeTab(tab); });