| 
 | 
 | 
# Configure e2e tests for gitlab runner
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
1. Create another Protractor config file `e2e-tests/protractor-ci.conf.js` that will be used by gitlab-runner. In this configuration we will use `puppeteer` instead of usual Chrome browser:
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
e2e-tests/protractor-ci.conf.js
 | 
 | 
 | 
 | 
```
 | 
 | 
 | 
 | 
process.env.CHROME_BIN = process.env.CHROME_BIN || require('puppeteer').executablePath();
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
exports.config = {
 | 
 | 
 | 
 | 
    allScriptsTimeout: 11000,
 | 
 | 
 | 
 | 
    specs: [
 | 
 | 
 | 
 | 
        '*.js'
 | 
 | 
 | 
 | 
    ],
 | 
 | 
 | 
 | 
    exclude: [
 | 
 | 
 | 
 | 
        '*.conf.js'
 | 
 | 
 | 
 | 
    ],
 | 
 | 
 | 
 | 
    capabilities: {
 | 
 | 
 | 
 | 
        browserName: 'chrome',
 | 
 | 
 | 
 | 
        chromeOptions: {
 | 
 | 
 | 
 | 
            args: ['--headless', '--no-sandbox'],
 | 
 | 
 | 
 | 
            binary: process.env.CHROME_BIN
 | 
 | 
 | 
 | 
        }
 | 
 | 
 | 
 | 
    },
 | 
 | 
 | 
 | 
    baseUrl: 'http://localhost:8000/',
 | 
 | 
 | 
 | 
    framework: 'jasmine',
 | 
 | 
 | 
 | 
    jasmineNodeOpts: {
 | 
 | 
 | 
 | 
        defaultTimeoutInterval: 30000
 | 
 | 
 | 
 | 
    }
 | 
 | 
 | 
 | 
};
 | 
 | 
 | 
 | 
```
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
2. Add `test-ci` and `http-server-ci` commands to `package.json`. We need to run http server as a background process:
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
```
 | 
 | 
 | 
 | 
"scripts": {
 | 
 | 
 | 
 | 
  "test": "karma start karma.conf.js",
 | 
 | 
 | 
 | 
  "protractor": "protractor e2e-tests/protractor.conf.js",
 | 
 | 
 | 
 | 
  "start": "http-server . -a localhost -p 8000 -c-1",
 | 
 | 
 | 
 | 
  "test-ci": "karma start karma-ci.conf.js",
 | 
 | 
 | 
 | 
  "protractor-ci": "protractor e2e-tests/protractor-ci.conf.js",
 | 
 | 
 | 
 | 
  "http-server-ci": "http-server . -a localhost -p 8000 -c-1 &"
 | 
 | 
 | 
 | 
},
 | 
 | 
 | 
 | 
```
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
3. Push changes to the repository, then you can see a new pipeline:
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 

 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
\ No newline at end of file |