Package Exports
- karma-chrome-launcher
- karma-chrome-launcher/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (karma-chrome-launcher) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
karma-chrome-launcher
Launcher for Google Chrome, Google Chrome Canary and Google Chromium.
Installation
The easiest way is to keep karma-chrome-launcher
as a devDependency in your package.json
,
by running
$ npm i -D karma-chrome-launcher
Configuration
// karma.conf.js
module.exports = function(config) {
config.set({
browsers: ['Chrome', 'Chrome_without_security'], // You may use 'ChromeCanary', 'Chromium' or any other supported browser
// you can define custom flags
customLaunchers: {
Chrome_without_security: {
base: 'Chrome',
flags: ['--disable-web-security', '--disable-site-isolation-trials']
}
}
})
}
The --user-data-dir
is set to a temporary directory but can be overridden on a custom launcher as shown below.
One reason to do this is to have a permanent Chrome user data directory inside the project directory to be able to
install plugins there (e.g. JetBrains IDE Support plugin).
customLaunchers: {
Chrome_with_debugging: {
base: 'Chrome',
chromeDataDir: path.resolve(__dirname, '.chrome')
}
}
You can pass list of browsers as a CLI argument too:
$ karma start --browsers Chrome,Chrome_without_security
Headless Chromium with Puppeteer
The Chrome DevTools team created Puppeteer - it will automatically install Chromium for all platforms and contains everything you need to run it from within your CI.
Available Browsers
Note: Headless mode requires a browser version >= 59
- Chrome (CHROME_BIN)
- ChromeHeadless (CHROME_BIN)
- Chromium (CHROMIUM_BIN)
- ChromiumHeadless (CHROMIUM_BIN)
- ChromeCanary (CHROME_CANARY_BIN)
- ChromeCanaryHeadless (CHROME_CANARY_BIN)
- Dartium (DARTIUM_BIN)
Usage
$ npm i -D puppeteer karma-chrome-launcher
// karma.conf.js
process.env.CHROME_BIN = require('puppeteer').executablePath()
module.exports = function(config) {
config.set({
browsers: ['ChromeHeadless']
})
}
For more information on Karma see the homepage.