Launcher for Google Chrome, Google Chrome Canary and Google Chromium.
The easiest way is to keep karma-chrome-launcher
as a devDependency in your package.json
,
by running
$ npm install karma-chrome-launcher --save-dev
// 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']
}
}
})
}
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
Chrome team made Puppeteer. It will automatically install Chromium for all platforms, so you can easily use it within your CI. Everything that you need, it's to install package and update your Karma config.
$ npm install puppeteer --save-dev
// karma.conf.js
process.env.CHROME_BIN = require('puppeteer').executablePath()
module.exports = function(config) {
config.set({
browsers: ['ChromeHeadless']
})
}
- Chrome
- ChromeCanary
- Chromium
- ChromeHeadless (only on Chrome >= 59)
- ChromeCanaryHeadless (only on Chrome >= 59)
- Dartium
For more information on Karma see the homepage.