https://github.com/karma-runner/karma-chrome-launcher
A Karma plugin. Launcher for Chrome and Chrome Canary.
https://github.com/karma-runner/karma-chrome-launcher
chrome javascript karma karma-chrome-launcher karma-launcher
Last synced: 12 days ago
JSON representation
A Karma plugin. Launcher for Chrome and Chrome Canary.
- Host: GitHub
- URL: https://github.com/karma-runner/karma-chrome-launcher
- Owner: karma-runner
- License: mit
- Created: 2013-02-28T07:33:47.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2024-10-11T01:29:48.000Z (6 months ago)
- Last Synced: 2025-04-11T05:08:22.027Z (12 days ago)
- Topics: chrome, javascript, karma, karma-chrome-launcher, karma-launcher
- Language: JavaScript
- Homepage:
- Size: 1.7 MB
- Stars: 472
- Watchers: 14
- Forks: 122
- Open Issues: 80
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# karma-chrome-launcher
[](https://github.com/karma-runner/karma-chrome-launcher)
[](https://www.npmjs.com/package/karma-chrome-launcher) [](https://www.npmjs.com/package/karma-chrome-launcher)[](https://travis-ci.org/karma-runner/karma-chrome-launcher) [](https://david-dm.org/karma-runner/karma-chrome-launcher) [](https://david-dm.org/karma-runner/karma-chrome-launcher#info=devDependencies)
> 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```bash
$ npm i -D karma-chrome-launcher
```## Configuration
```js
// 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).```js
customLaunchers: {
Chrome_with_debugging: {
base: 'Chrome',
chromeDataDir: path.resolve(__dirname, '.chrome')
}
}
```You can pass list of browsers as a CLI argument too:
```bash
$ karma start --browsers Chrome,Chrome_without_security
```## Headless Chromium with Puppeteer
The Chrome DevTools team created [Puppeteer](https://github.com/GoogleChrome/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
```bash
$ npm i -D puppeteer karma-chrome-launcher
``````js
// 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].
[homepage]: https://karma-runner.github.io