@stackline/karma-firefox-launcher
v1.0.2
Published
A Karma plugin. Launcher for Firefox.
Maintainers
Readme
@stackline/karma-firefox-launcher
A Karma plugin. Launcher for Firefox.
Documentation | npm | Issues | Repository
Current package version: 1.0.2
Why this package?
@stackline/karma-firefox-launcher is the Stackline-maintained distribution of [email protected]. It is an independent continuation of karma-firefox-launcher; original authors and licenses remain credited below.
Compatibility
| Item | Value |
| :--- | :--- |
| Package | @stackline/[email protected] |
| API target | [email protected] |
| Supported Node.js | See supported framework requirements |
| License | MIT |
| Main entry | index.js |
| Runtime dependencies | is-wsl, which |
Installation
npm install @stackline/karma-firefox-launcherPreserve existing imports and plugin resolution with an npm alias:
npm install karma-firefox-launcher@npm:@stackline/karma-firefox-launcherUsage and API reference
karma-firefox-launcher
Launcher for Mozilla Firefox.
karma-firefox-launcher is deprecated and is not accepting new features or general bug fixes.
See deprecation notice for karma.
Web Test Runner,
jasmine-browser-runner,
and playwright-test provide
browser-based unit testing solutions which can be used as a direct alternative.
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 @stackline/karma-firefox-launcher --save-devConfiguration
// karma.conf.js
module.exports = function (config) {
config.set({
plugins: [require("@stackline/karma-firefox-launcher")],
browsers: [
"Firefox",
"FirefoxDeveloper",
"FirefoxAurora",
"FirefoxNightly",
],
});
};You can pass list of browsers as a CLI argument too:
karma start --browsers Firefox,ChromeTo 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 browserFirefoxorFirefoxHeadless)FIREFOX_DEVELOPER_BIN(for browserFirefoxDeveloperorFirefoxDeveloperHeadless)FIREFOX_AURORA_BIN(for browserFirefoxAuroraorFirefoxAuroraHeadless)FIREFOX_NIGHTLY_BIN(for browserFirefoxNightlyorFirefoxNightlyHeadless)
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.resolve(__dirname, 'helpers/extensions/[email protected]'),
path.resolve(__dirname, 'helpers/extensions/[email protected]')
]
}
}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:
<?xml version="1.0" encoding="utf-8"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>myCustomExt@suchandsuch</em:id>
<em:version>1.0</em:version>
<em:type>2</em:type>
<em:bootstrap>true</em:bootstrap>
<em:unpack>false</em:unpack>
[...]
</Description>
</RDF>Then you should name your extension [email protected].
For more information on Karma see the homepage.
Credits and original authors
- Original project: karma-firefox-launcher.
- Vojta Jina.
- Alex Zaslavsky.
- Andrei Khveras.
- Brian Birtles.
- Chad McElligott.
- dignifiedquire.
- Erwann Mest.
- Friedel Ziegelmayer.
- James Talmage.
- Jan Brecka.
- Jonathan Ginsburg.
- Liam Newman.
- Maksim Ryzhikov.
- Mario Vejlupek.
- Mark Ethan Trostler.
- Martin Fochler.
- Michał Gołębiowski.
- Parashuram.
- Peter Johanson.
- Salvador de la Puente.
- Schaaf, Martin.
- Žilvinas Urbonas.
- Copyright (C) 2011-2013 Google, Inc.
- Stackline maintenance: Alexandro Paixao Marques and Stackline contributors.
Original copyright, license notices and contributor acknowledgements remain part of this distribution. Stackline maintenance does not replace authorship of the original work.
License
MIT. See the license and notice files in the repository.
Community and Links
Use this repository's issue tracker for reproducible bugs and feature requests. Join r/Stackline for examples, usage questions and release discussions.
