karma-firefox-launcher
Launcher for Mozilla Firefox.
Installation
The easiest way is to keep karma-firefox-launcher
as a devDependency in your package.json
.
You can simple do it by:
npm install karma-firefox-launcher --save-dev
Configuration
// karma.conf.jsmodule { config}
You can pass list of browsers as a CLI argument too:
karma start --browsers Firefox,Chrome
To run Firefox in headless mode, append Headless
to the version name, e.g. FirefoxHeadless
, FirefoxNightlyHeadless
.
Environment variables
You can specify the location of the Firefox executable using the following environment variables:
FIREFOX_BIN
(for browserFirefox
orFirefoxHeadless
)FIREFOX_DEVELOPER_BIN
(for browserFirefoxDeveloper
orFirefoxDeveloperHeadless
)FIREFOX_AURORA_BIN
(for browserFirefoxAurora
orFirefoxAuroraHeadless
)FIREFOX_NIGHTLY_BIN
(for browserFirefoxNightly
orFirefoxNightlyHeadless
)
Custom Firefox location
In addition to Environment variables you can specify location of the Firefox executable in a custom launcher:
browsers: 'Firefox68' 'Firefox78' customLaunchers: Firefox68: base: 'Firefox' name: 'Firefox68' command: '<path to FF68>/firefox.exe' Firefox78: base: 'Firefox' name: 'Firefox78' command: '<path to FF78>/firefox.exe'
Custom Preferences
To configure preferences for the Firefox instance that is loaded, you can specify a custom launcher in your Karma
config with the preferences under the prefs
key:
browsers: 'FirefoxAutoAllowGUM' customLaunchers: FirefoxAutoAllowGUM: base: 'Firefox' prefs: 'media.navigator.permission.disabled': true
Loading Firefox Extensions
If you have extensions that you want loaded into the browser on startup, you can specify the full path to each
extension in the extensions
key:
browsers: 'FirefoxWithMyExtension' customLaunchers: FirefoxWithMyExtension: base: 'Firefox' extensions: path path
Please note: the extension name must exactly match the 'id' of the extension. You can discover the 'id' of your
extension by extracting the .xpi (i.e. unzip XXX.xpi
) and opening the install.RDF file with a text editor, then look
for the em:id
tag under the Description
tag. If your extension manifest looks something like this:
myCustomExt@suchandsuch 1.0 2 true false [...]
Then you should name your extension myCustomExt@suchandsuch.xpi
.
For more information on Karma see the homepage.