To automate web tests in Mozilla Firefox, you must instrument Mozilla Firefox with the Instrumentation Wizard.
Install the add-on
- Open the Instrumentation Wizard. For more information, see UI Technologies Introduction.
- Select Instrument a browser.
- Enable the Mozilla Firefox slider option and click Next.
- After the wizard displays the Instrumentation successful message, click Finish.
- Restart your browser.
- Click the browser menu icon that shows a warning symbol, then select the Ranorex Automation added to Firefox message.
- Click Enable to activate the add-on.
The browser displays the following message after the add-on is enabled correctly.
Configure required permissions
After enabling the add-on, you must grant it specific data permissions to ensure reliable automation.
- Open a new tab in Mozilla Firefox and navigate to the URL about:addons.
- In the left-hand menu, click on the Extensions tab.
- Find the Ranorex Automation add-on and click it to expand the options.
- Under the Permissions tab, in the section Optional permissions for added functionality, enable the Access your data for all websites option.
Toggle Access your data for all websites
Firefox treats Access your data for all websites as a sensitive host permission. For security reasons, this permission cannot be enabled programmatically and requires user consent.
✅ What is possible
Grant host access at install time (manifest-defined host permissions)
If an extension declares <all_urls> as a required permission in its manifest, Firefox will not show the toggle later. Instead, Firefox requests permission at install time.
- For AMO builds, this typically requires re-review.
- For enterprise deployments, you may host your own internally signed XPI (based on your organization’s policies).
Distribute a Firefox profile that already contains the granted permission
- Have a human enable Access your data for all websites once (steps above).
- Copy that Firefox profile as a template for automation machines/agents.
- Launch Firefox using the pre-seeded profile, for example:
firefox -profile /path/to/preseeded_profile
This is supported because it preserves Firefox’s consent-based security model.
❌ What is not possible
-
Automatically toggling “Access your data for all websites” programmatically
Forbidden by Firefox’s WebExtension security model, the toggle always requires user consent. -
Using permissions.request() to auto-approve
Firefox will always show a user confirmation dialog. -
Granting host permissions using enterprise policies (policies.json)
policies.json can help with deployment (for example, installing extensions), but it cannot silently auto-grant host permissions. -
Editing internal Firefox files (for example, extensions.json, prefs.js)
Unsupported and unstable (may break validation, corrupt profiles, and change across versions).