testcafe
Version:
Automated browser testing for the modern web development stack.
61 lines • 8.92 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = __importDefault(require("path"));
const temp_directory_1 = __importDefault(require("../../../../../utils/temp-directory"));
const promisified_functions_1 = require("../../../../../utils/promisified-functions");
async function generatePreferences(profileDir, { marionettePort, config }) {
const prefsFileName = path_1.default.join(profileDir, 'user.js');
let prefs = [
'user_pref("browser.link.open_newwindow.override.external", 2);',
'user_pref("app.update.enabled", false);',
'user_pref("app.update.auto", false);',
'user_pref("app.update.mode", 0);',
'user_pref("app.update.service.enabled", false);',
'user_pref("browser.shell.checkDefaultBrowser", false);',
'user_pref("browser.usedOnWindows10", true);',
'user_pref("browser.rights.3.shown", true);',
'user_pref("browser.startup.homepage_override.mstone","ignore");',
'user_pref("browser.tabs.warnOnCloseOtherTabs", false);',
'user_pref("browser.tabs.warnOnClose", false);',
'user_pref("browser.sessionstore.resume_from_crash", false);',
'user_pref("toolkit.telemetry.reportingpolicy.firstRun", false);',
'user_pref("toolkit.telemetry.enabled", false);',
'user_pref("toolkit.telemetry.rejected", true);',
'user_pref("datareporting.healthreport.uploadEnabled", false);',
'user_pref("datareporting.healthreport.service.enabled", false);',
'user_pref("datareporting.healthreport.service.firstRun", false);',
'user_pref("datareporting.policy.dataSubmissionEnabled", false);',
'user_pref("datareporting.policy.dataSubmissionPolicyBypassNotification", true);',
'user_pref("app.shield.optoutstudies.enabled", false);',
'user_pref("extensions.shield-recipe-client.enabled", false);',
'user_pref("extensions.shield-recipe-client.first_run", false);',
'user_pref("extensions.shield-recipe-client.startupExperimentPrefs.browser.newtabpage.activity-stream.enabled", false);',
'user_pref("devtools.toolbox.host", "window");',
'user_pref("devtools.toolbox.previousHost", "bottom");',
'user_pref("signon.rememberSignons", false);'
];
if (marionettePort) {
prefs = prefs.concat([
`user_pref("marionette.port", ${marionettePort});`,
'user_pref("marionette.enabled", true);'
]);
}
if (config.disableMultiprocessing) {
prefs = prefs.concat([
'user_pref("browser.tabs.remote.autostart", false);',
'user_pref("browser.tabs.remote.autostart.2", false);',
]);
}
await promisified_functions_1.writeFile(prefsFileName, prefs.join('\n'));
}
async function default_1(runtimeInfo) {
const tmpDir = await temp_directory_1.default.createDirectory('firefox-profile');
await generatePreferences(tmpDir.path, runtimeInfo);
return tmpDir;
}
exports.default = default_1;
module.exports = exports.default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRlbXAtcHJvZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9icm93c2VyL3Byb3ZpZGVyL2J1aWx0LWluL2RlZGljYXRlZC9maXJlZm94L2NyZWF0ZS10ZW1wLXByb2ZpbGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnREFBd0I7QUFDeEIseUZBQWdFO0FBQ2hFLHNGQUF1RTtBQUd2RSxLQUFLLFVBQVUsbUJBQW1CLENBQUUsVUFBVSxFQUFFLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRTtJQUN0RSxNQUFNLGFBQWEsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUV2RCxJQUFJLEtBQUssR0FBRztRQUNSLGdFQUFnRTtRQUNoRSx5Q0FBeUM7UUFDekMsc0NBQXNDO1FBQ3RDLGtDQUFrQztRQUNsQyxpREFBaUQ7UUFDakQsd0RBQXdEO1FBQ3hELDZDQUE2QztRQUM3Qyw0Q0FBNEM7UUFDNUMsaUVBQWlFO1FBQ2pFLHdEQUF3RDtRQUN4RCwrQ0FBK0M7UUFDL0MsNkRBQTZEO1FBQzdELGlFQUFpRTtRQUNqRSxnREFBZ0Q7UUFDaEQsZ0RBQWdEO1FBQ2hELCtEQUErRDtRQUMvRCxpRUFBaUU7UUFDakUsa0VBQWtFO1FBQ2xFLGlFQUFpRTtRQUNqRSxpRkFBaUY7UUFDakYsdURBQXVEO1FBQ3ZELDhEQUE4RDtRQUM5RCxnRUFBZ0U7UUFDaEUsd0hBQXdIO1FBQ3hILCtDQUErQztRQUMvQyx1REFBdUQ7UUFDdkQsNkNBQTZDO0tBQ2hELENBQUM7SUFFRixJQUFJLGNBQWMsRUFBRTtRQUNoQixLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNqQixnQ0FBZ0MsY0FBYyxJQUFJO1lBQ2xELHdDQUF3QztTQUMzQyxDQUFDLENBQUM7S0FDTjtJQUVELElBQUksTUFBTSxDQUFDLHNCQUFzQixFQUFFO1FBQy9CLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2pCLG9EQUFvRDtZQUNwRCxzREFBc0Q7U0FDekQsQ0FBQyxDQUFDO0tBQ047SUFFRCxNQUFNLGlDQUFTLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDO0FBRWMsS0FBSyxvQkFBVyxXQUFXO0lBQ3RDLE1BQU0sTUFBTSxHQUFHLE1BQU0sd0JBQWEsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUV0RSxNQUFNLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFcEQsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQU5ELDRCQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgVGVtcERpcmVjdG9yeSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscy90ZW1wLWRpcmVjdG9yeSc7XG5pbXBvcnQgeyB3cml0ZUZpbGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscy9wcm9taXNpZmllZC1mdW5jdGlvbnMnO1xuXG5cbmFzeW5jIGZ1bmN0aW9uIGdlbmVyYXRlUHJlZmVyZW5jZXMgKHByb2ZpbGVEaXIsIHsgbWFyaW9uZXR0ZVBvcnQsIGNvbmZpZyB9KSB7XG4gICAgY29uc3QgcHJlZnNGaWxlTmFtZSA9IHBhdGguam9pbihwcm9maWxlRGlyLCAndXNlci5qcycpO1xuXG4gICAgbGV0IHByZWZzID0gW1xuICAgICAgICAndXNlcl9wcmVmKFwiYnJvd3Nlci5saW5rLm9wZW5fbmV3d2luZG93Lm92ZXJyaWRlLmV4dGVybmFsXCIsIDIpOycsXG4gICAgICAgICd1c2VyX3ByZWYoXCJhcHAudXBkYXRlLmVuYWJsZWRcIiwgZmFsc2UpOycsXG4gICAgICAgICd1c2VyX3ByZWYoXCJhcHAudXBkYXRlLmF1dG9cIiwgZmFsc2UpOycsXG4gICAgICAgICd1c2VyX3ByZWYoXCJhcHAudXBkYXRlLm1vZGVcIiwgMCk7JyxcbiAgICAgICAgJ3VzZXJfcHJlZihcImFwcC51cGRhdGUuc2VydmljZS5lbmFibGVkXCIsIGZhbHNlKTsnLFxuICAgICAgICAndXNlcl9wcmVmKFwiYnJvd3Nlci5zaGVsbC5jaGVja0RlZmF1bHRCcm93c2VyXCIsIGZhbHNlKTsnLFxuICAgICAgICAndXNlcl9wcmVmKFwiYnJvd3Nlci51c2VkT25XaW5kb3dzMTBcIiwgdHJ1ZSk7JyxcbiAgICAgICAgJ3VzZXJfcHJlZihcImJyb3dzZXIucmlnaHRzLjMuc2hvd25cIiwgdHJ1ZSk7JyxcbiAgICAgICAgJ3VzZXJfcHJlZihcImJyb3dzZXIuc3RhcnR1cC5ob21lcGFnZV9vdmVycmlkZS5tc3RvbmVcIixcImlnbm9yZVwiKTsnLFxuICAgICAgICAndXNlcl9wcmVmKFwiYnJvd3Nlci50YWJzLndhcm5PbkNsb3NlT3RoZXJUYWJzXCIsIGZhbHNlKTsnLFxuICAgICAgICAndXNlcl9wcmVmKFwiYnJvd3Nlci50YWJzLndhcm5PbkNsb3NlXCIsIGZhbHNlKTsnLFxuICAgICAgICAndXNlcl9wcmVmKFwiYnJvd3Nlci5zZXNzaW9uc3RvcmUucmVzdW1lX2Zyb21fY3Jhc2hcIiwgZmFsc2UpOycsXG4gICAgICAgICd1c2VyX3ByZWYoXCJ0b29sa2l0LnRlbGVtZXRyeS5yZXBvcnRpbmdwb2xpY3kuZmlyc3RSdW5cIiwgZmFsc2UpOycsXG4gICAgICAgICd1c2VyX3ByZWYoXCJ0b29sa2l0LnRlbGVtZXRyeS5lbmFibGVkXCIsIGZhbHNlKTsnLFxuICAgICAgICAndXNlcl9wcmVmKFwidG9vbGtpdC50ZWxlbWV0cnkucmVqZWN0ZWRcIiwgdHJ1ZSk7JyxcbiAgICAgICAgJ3VzZXJfcHJlZihcImRhdGFyZXBvcnRpbmcuaGVhbHRocmVwb3J0LnVwbG9hZEVuYWJsZWRcIiwgZmFsc2UpOycsXG4gICAgICAgICd1c2VyX3ByZWYoXCJkYXRhcmVwb3J0aW5nLmhlYWx0aHJlcG9ydC5zZXJ2aWNlLmVuYWJsZWRcIiwgZmFsc2UpOycsXG4gICAgICAgICd1c2VyX3ByZWYoXCJkYXRhcmVwb3J0aW5nLmhlYWx0aHJlcG9ydC5zZXJ2aWNlLmZpcnN0UnVuXCIsIGZhbHNlKTsnLFxuICAgICAgICAndXNlcl9wcmVmKFwiZGF0YXJlcG9ydGluZy5wb2xpY3kuZGF0YVN1Ym1pc3Npb25FbmFibGVkXCIsIGZhbHNlKTsnLFxuICAgICAgICAndXNlcl9wcmVmKFwiZGF0YXJlcG9ydGluZy5wb2xpY3kuZGF0YVN1Ym1pc3Npb25Qb2xpY3lCeXBhc3NOb3RpZmljYXRpb25cIiwgdHJ1ZSk7JyxcbiAgICAgICAgJ3VzZXJfcHJlZihcImFwcC5zaGllbGQub3B0b3V0c3R1ZGllcy5lbmFibGVkXCIsIGZhbHNlKTsnLFxuICAgICAgICAndXNlcl9wcmVmKFwiZXh0ZW5zaW9ucy5zaGllbGQtcmVjaXBlLWNsaWVudC5lbmFibGVkXCIsIGZhbHNlKTsnLFxuICAgICAgICAndXNlcl9wcmVmKFwiZXh0ZW5zaW9ucy5zaGllbGQtcmVjaXBlLWNsaWVudC5maXJzdF9ydW5cIiwgZmFsc2UpOycsXG4gICAgICAgICd1c2VyX3ByZWYoXCJleHRlbnNpb25zLnNoaWVsZC1yZWNpcGUtY2xpZW50LnN0YXJ0dXBFeHBlcmltZW50UHJlZnMuYnJvd3Nlci5uZXd0YWJwYWdlLmFjdGl2aXR5LXN0cmVhbS5lbmFibGVkXCIsIGZhbHNlKTsnLFxuICAgICAgICAndXNlcl9wcmVmKFwiZGV2dG9vbHMudG9vbGJveC5ob3N0XCIsIFwid2luZG93XCIpOycsXG4gICAgICAgICd1c2VyX3ByZWYoXCJkZXZ0b29scy50b29sYm94LnByZXZpb3VzSG9zdFwiLCBcImJvdHRvbVwiKTsnLFxuICAgICAgICAndXNlcl9wcmVmKFwic2lnbm9uLnJlbWVtYmVyU2lnbm9uc1wiLCBmYWxzZSk7J1xuICAgIF07XG5cbiAgICBpZiAobWFyaW9uZXR0ZVBvcnQpIHtcbiAgICAgICAgcHJlZnMgPSBwcmVmcy5jb25jYXQoW1xuICAgICAgICAgICAgYHVzZXJfcHJlZihcIm1hcmlvbmV0dGUucG9ydFwiLCAke21hcmlvbmV0dGVQb3J0fSk7YCxcbiAgICAgICAgICAgICd1c2VyX3ByZWYoXCJtYXJpb25ldHRlLmVuYWJsZWRcIiwgdHJ1ZSk7J1xuICAgICAgICBdKTtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLmRpc2FibGVNdWx0aXByb2Nlc3NpbmcpIHtcbiAgICAgICAgcHJlZnMgPSBwcmVmcy5jb25jYXQoW1xuICAgICAgICAgICAgJ3VzZXJfcHJlZihcImJyb3dzZXIudGFicy5yZW1vdGUuYXV0b3N0YXJ0XCIsIGZhbHNlKTsnLFxuICAgICAgICAgICAgJ3VzZXJfcHJlZihcImJyb3dzZXIudGFicy5yZW1vdGUuYXV0b3N0YXJ0LjJcIiwgZmFsc2UpOycsXG4gICAgICAgIF0pO1xuICAgIH1cblxuICAgIGF3YWl0IHdyaXRlRmlsZShwcmVmc0ZpbGVOYW1lLCBwcmVmcy5qb2luKCdcXG4nKSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIChydW50aW1lSW5mbykge1xuICAgIGNvbnN0IHRtcERpciA9IGF3YWl0IFRlbXBEaXJlY3RvcnkuY3JlYXRlRGlyZWN0b3J5KCdmaXJlZm94LXByb2ZpbGUnKTtcblxuICAgIGF3YWl0IGdlbmVyYXRlUHJlZmVyZW5jZXModG1wRGlyLnBhdGgsIHJ1bnRpbWVJbmZvKTtcblxuICAgIHJldHVybiB0bXBEaXI7XG59XG4iXX0=