-
Notifications
You must be signed in to change notification settings - Fork 58
Expand file tree
/
Copy pathbrowserstack.karma.android.config.js
More file actions
151 lines (143 loc) · 3.19 KB
/
Copy pathbrowserstack.karma.android.config.js
File metadata and controls
151 lines (143 loc) · 3.19 KB
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
const { DEBUG } = process.env;
const files = [
'../lib/geomock.js',
'../../dist/mparticle.js',
'../test-bundle.js',
];
let captureConsole = false;
let browserConsoleLogOptions = {};
if (DEBUG === 'true') {
browserConsoleLogOptions = {
level: 'log',
format: '%b %T: %m',
terminal: true,
};
captureConsole = true;
} else {
browserConsoleLogOptions = {
terminal: false,
};
}
const customLaunchers = {
// Android 16 - all browsers
bs_android_16_chrome: {
base: 'BrowserStack',
device: 'Google Pixel 10 Pro',
os: 'android',
os_version: '16.0',
real_mobile: true,
browser: 'chrome'
},
bs_android_16_firefox: {
base: 'BrowserStack',
device: 'Google Pixel 10',
os: 'android',
os_version: '16.0',
real_mobile: true,
browser: 'firefox'
},
bs_android_16_opera: {
base: 'BrowserStack',
device: 'Google Pixel 10 Pro',
os: 'android',
os_version: '16.0',
real_mobile: true,
browser: 'opera'
},
bs_android_16_samsung: {
base: 'BrowserStack',
device: 'Google Pixel 10 Pro XL',
os: 'android',
os_version: '16.0',
real_mobile: true,
browser: 'samsung'
},
// Android 15 - all browsers
bs_android_15_chrome: {
base: 'BrowserStack',
device: 'Samsung Galaxy S25',
os: 'android',
os_version: '15.0',
real_mobile: true,
browser: 'chrome'
},
bs_android_15_firefox: {
base: 'BrowserStack',
device: 'Samsung Galaxy Tab S10 Plus',
os: 'android',
os_version: '15.0',
real_mobile: true,
browser: 'firefox'
},
bs_android_15_opera: {
base: 'BrowserStack',
device: 'Google Pixel 9 Pro',
os: 'android',
os_version: '15.0',
real_mobile: true,
browser: 'opera'
},
bs_android_15_samsung: {
base: 'BrowserStack',
device: 'Samsung Galaxy S25 Ultra',
os: 'android',
os_version: '15.0',
real_mobile: true,
browser: 'samsung'
},
// Android 14 - chrome
bs_android_14_chrome: {
base: 'BrowserStack',
device: 'Samsung Galaxy S24',
os: 'android',
os_version: '14.0',
real_mobile: true,
browser: 'chrome'
},
// Android 13 - chrome
bs_android_13_chrome: {
base: 'BrowserStack',
device: 'Samsung Galaxy S23 Ultra',
os: 'android',
os_version: '13.0',
real_mobile: true,
browser: 'chrome'
},
};
module.exports = function(config) {
config.set({
browserStack: {
username: process.env.BS_USERNAME,
accessKey: process.env.BS_ACCESS_KEY,
local: true,
idleTimeout: 300,
},
autoWatch: false,
customLaunchers,
browsers: Object.keys(customLaunchers),
frameworks: ['mocha', 'should'],
files,
reporters: ['progress', 'junit'],
colors: true,
singleRun: true,
debug: true,
logLevel: config.LOG_INFO,
browserConsoleLogOptions,
client: {
captureConsole,
mocha: {
timeout: 10000
}
},
junitReporter: {
outputDir: 'reports/',
outputFile: 'test-karma-mobile.xml',
},
captureTimeout: 240000,
browserNoActivityTimeout: 240000,
browserDisconnectTimeout: 120000,
browserDisconnectTolerance: 5,
concurrency: 5,
retryLimit: 2,
});
};