Cleanup E2E tests
[oweals/peertube.git] / client / e2e / protractor.conf.js
1 // Protractor configuration file, see link for more information
2 // https://github.com/angular/protractor/blob/master/lib/config.ts
3
4 const {SpecReporter} = require('jasmine-spec-reporter')
5
6 exports.config = {
7   allScriptsTimeout: 25000,
8   specs: ['./src/**/*.e2e-spec.ts'],
9
10   seleniumAddress: 'http://hub-cloud.browserstack.com/wd/hub',
11   commonCapabilities: {
12     'browserstack.user': process.env.BROWSERSTACK_USER,
13     'browserstack.key': process.env.BROWSERSTACK_KEY,
14     'browserstack.local': true,
15     'browserstack.console': 'verbose',
16     'browserstack.networkLogs': true,
17     'browserstack.debug': true,
18     project: 'PeerTube',
19     build: 'Main',
20     name: 'Bstack-[Protractor] Parallel Test'
21   },
22
23   multiCapabilities: [
24     {
25       browserName: 'Safari',
26       version: '11.1',
27       name: 'Safari Desktop',
28       resolution: '1280x1024'
29     },
30     {
31       browserName: 'Chrome',
32       name: 'Latest Chrome Desktop',
33       resolution: '1280x1024'
34     },
35     {
36       browserName: 'Firefox',
37       version: '60', // ESR,
38       name: 'Firefox ESR Desktop',
39       resolution: '1280x1024'
40     },
41     {
42       browserName: 'Firefox',
43       name: 'Latest Firefox Desktop',
44       resolution: '1280x1024'
45     },
46     {
47       browserName: 'Edge',
48       name: 'Latest Edge Desktop',
49       resolution: '1280x1024'
50     },
51     {
52       browserName: 'Chrome',
53       device: 'Google Nexus 6',
54       realMobile: 'true',
55       os_version: '5.0',
56       name: 'Latest Chrome Android'
57     },
58     {
59       browserName: 'Safari',
60       device: 'iPhone 8',
61       realMobile: 'true',
62       os_version: '12',
63       name: 'Safari iPhone'
64     }
65   ],
66
67   // maxSessions: 1,
68   // BrowserStack compatible ports: https://www.browserstack.com/question/664
69   baseUrl: 'http://localhost:3333/',
70   framework: 'jasmine',
71   jasmineNodeOpts: {
72     showColors: true,
73     defaultTimeoutInterval: 45000,
74     print: function() {}
75   },
76
77   onPrepare() {
78     require('ts-node').register({
79       project: require('path').join(__dirname, './tsconfig.e2e.json')
80     })
81     jasmine.getEnv().addReporter(new SpecReporter({   spec:  {  displayStacktrace: true    }  }))
82   }
83 }
84
85 exports.config.multiCapabilities.forEach(function (caps) {
86   for (var i in exports.config.commonCapabilities) caps[i] = caps[i] || exports.config.commonCapabilities[i]
87 })