-
Notifications
You must be signed in to change notification settings - Fork 0
/
wdio.conf.ts
84 lines (83 loc) · 2.4 KB
/
wdio.conf.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import {Test} from "@wdio/types/build/Frameworks";
import {performancetotal} from "wdio-performancetotal-service";
exports.config = {
runner: 'local',
hostname: 'localhost',
port: 4444,
path: '/wd/hub',
specs: ['./src/test/**/*.spec.ts'],
maxInstances: 2,
capabilities: [
{
maxInstances: 2,
browserName: 'chrome',
},
],
logLevel: 'trace',
outputDir: './test-report/output',
bail: 0,
baseUrl: 'https://the-internet.herokuapp.com/',
waitforTimeout: 10000,
connectionRetryTimeout: 90000,
connectionRetryCount: 3,
framework: 'mocha',
mochaOpts: {
timeout: 40000,
},
reporters: [
'spec',
[
'allure',
{
outputDir: './test-report/allure-result/',
disableWebdriverStepsReporting: true,
disableWebdriverScreenshotsReporting: false,
},
],
],
services: [
['chromedriver'],
[
'performancetotal',
{
disableAppendToExistingFile: false,
performanceResultsFileName: `performance-results_${new Date().getTime()}`,
dropResultsFromFailedTest: false,
performanceResultsDirectory: 'performance-results',
},
],
],
autoCompileOpts: {
autoCompile: true,
tsNodeOpts: {
transpileOnly: true,
project: 'tsconfig.json',
},
tsConfigPathsOpts: {
baseUrl: './',
},
},
before() {
const chai = require('chai')
chai.use(require('chai-string'))
global.expect = chai.expect;
browser.setWindowSize(1280, 720);
},
beforeTest: function (test: Test) {
console.log(`Test starting - ${test.parent} - ${test.title}`);
// clear browser data before test
browser.execute('localStorage.clear();');
browser.execute('sessionStorage.clear();');
browser.deleteAllCookies();
// start performance test
performancetotal.sampleStart(`${test.parent} - ${test.title}`);
},
afterTest: function (test: Test, context: any, { error }: any) {
// take screenshot on error
if (error) {
browser.takeScreenshot();
}
// end performance test
performancetotal.sampleEnd(`${test.parent} - ${test.title}`);
},
};