Skip to content

Commit e000b3e

Browse files
committed
ci: update remote browsers we test against
Updates our remote browsers so that we test against the latest Egde version, the latest iOS and macOS Safari versions.
1 parent 544e335 commit e000b3e

File tree

3 files changed

+21
-317
lines changed

3 files changed

+21
-317
lines changed

test/browser-providers.js

Lines changed: 7 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,15 @@
11
'use strict';
22

33
/*
4-
* Browser Configuration for the different jobs in the CI.
4+
* Browser Configuration for the different jobs in the legacy Karma tests.
55
*
6-
* - local: Launches the browser locally on the current operating system.
7-
* - BS: Launches the browser within BrowserStack
8-
* - SL: Launches the browser within Saucelabs
9-
*
10-
* TODO(devversion): rename this to "browserstack" and "saucelabs".
6+
* - `browserstack`: Launches the browser within BrowserStack
7+
* - `saucelabs`: Launches the browser within Saucelabs
118
*/
129
const browserConfig = {
13-
'ChromeHeadlessCI': { unitTest: {target: 'local', }},
14-
'FirefoxHeadless': { unitTest: {target: 'local', }},
15-
'ChromeBeta': { unitTest: {target: null, }},
16-
'FirefoxBeta': { unitTest: {target: null, }},
17-
'ChromeDev': { unitTest: {target: null, }},
18-
'FirefoxDev': { unitTest: {target: null, }},
19-
'IE9': { unitTest: {target: null, }},
20-
'IE10': { unitTest: {target: null, }},
21-
'IE11': { unitTest: {target: null, }},
22-
'Edge': { unitTest: {target: 'saucelabs', }},
23-
'Android4.1': { unitTest: {target: null, }},
24-
'Android4.2': { unitTest: {target: null, }},
25-
'Android4.3': { unitTest: {target: null, }},
26-
'Android4.4': { unitTest: {target: null, }},
27-
'Android5': { unitTest: {target: null, }},
28-
'Safari7': { unitTest: {target: null, }},
29-
'Safari8': { unitTest: {target: null, }},
30-
'Safari9': { unitTest: {target: null, }},
31-
'Safari10': { unitTest: {target: 'browserstack', }},
32-
'iOS7': { unitTest: {target: null, }},
33-
'iOS8': { unitTest: {target: null, }},
34-
'iOS9': { unitTest: {target: null, }},
35-
'iOS10': { unitTest: {target: null, }},
36-
'iOS11': { unitTest: {target: 'saucelabs', }},
37-
'WindowsPhone': { unitTest: {target: null, }}
10+
'Edge83': {unitTest: {target: 'saucelabs'}},
11+
'iOS13': {unitTest: {target: 'saucelabs'}},
12+
'Safari13': {unitTest: {target: 'browserstack'}},
3813
};
3914

4015
/** Exports all available custom Karma browsers. */
@@ -43,8 +18,7 @@ exports.customLaunchers = require('./karma-browsers.json');
4318
/** Exports a map of configured browsers, which should run in the given platform. */
4419
exports.platformMap = {
4520
'saucelabs': buildConfiguration('unitTest', 'saucelabs'),
46-
'browserstack': buildConfiguration('unitTest', 'browserstack'),
47-
'local': buildConfiguration('unitTest', 'local'),
21+
'browserstack': buildConfiguration('unitTest', 'browserstack')
4822
};
4923

5024
/** Build a list of configuration (custom launcher names). */
@@ -54,13 +28,6 @@ function buildConfiguration(type, target) {
5428
.filter(([, config]) => config.target === target)
5529
.map(([browserName]) => browserName);
5630

57-
// For browsers that run locally, the browser name shouldn't be prefixed with the target
58-
// platform. We only prefix the external platforms in order to distinguish between
59-
// local and remote browsers in our "customLaunchers" for Karma.
60-
if (target === 'local') {
61-
return targetBrowsers;
62-
}
63-
6431
return targetBrowsers.map(browserName => {
6532
return `${target.toUpperCase()}_${browserName.toUpperCase()}`;
6633
});

test/karma-browsers.json

Lines changed: 13 additions & 276 deletions
Original file line numberDiff line numberDiff line change
@@ -1,292 +1,29 @@
11
{
2-
"ChromeHeadlessLocal": {
3-
"base": "ChromeHeadless",
4-
"flags": [
5-
"--window-size=1024,768"
6-
]
7-
},
82
"ChromeHeadlessCI": {
93
"base": "ChromeHeadless",
104
"flags": [
115
"--window-size=1024,768",
126
"--no-sandbox"
137
]
148
},
15-
"SAUCELABS_CHROME": {
16-
"base": "SauceLabs",
17-
"browserName": "chrome",
18-
"version": "latest"
19-
},
20-
"SAUCELABS_CHROMEBETA": {
21-
"base": "SauceLabs",
22-
"browserName": "chrome",
23-
"version": "beta"
24-
},
25-
"SAUCELABS_CHROMEDEV": {
26-
"base": "SauceLabs",
27-
"browserName": "chrome",
28-
"version": "dev"
29-
},
30-
"SAUCELABS_FIREFOX": {
31-
"base": "SauceLabs",
32-
"browserName": "firefox",
33-
"version": "latest"
34-
},
35-
"SAUCELABS_FIREFOXBETA": {
36-
"base": "SauceLabs",
37-
"browserName": "firefox",
38-
"version": "beta"
39-
},
40-
"SAUCELABS_FIREFOXDEV": {
41-
"base": "SauceLabs",
42-
"browserName": "firefox",
43-
"version": "dev"
44-
},
45-
"SAUCELABS_SAFARI7": {
46-
"base": "SauceLabs",
47-
"browserName": "safari",
48-
"platform": "OS X 10.9",
49-
"version": "7"
50-
},
51-
"SAUCELABS_SAFARI8": {
52-
"base": "SauceLabs",
53-
"browserName": "safari",
54-
"platform": "OS X 10.10",
55-
"version": "8"
56-
},
57-
"SAUCELABS_SAFARI9": {
58-
"base": "SauceLabs",
59-
"browserName": "safari",
60-
"platform": "OS X 10.11",
61-
"version": "9.0"
62-
},
63-
"SAUCELABS_SAFARI10": {
64-
"base": "SauceLabs",
65-
"browserName": "safari",
66-
"platform": "OS X 10.12",
67-
"version": "10.0"
68-
},
69-
"SAUCELABS_IOS7": {
70-
"base": "SauceLabs",
71-
"browserName": "iphone",
72-
"platform": "OS X 10.10",
73-
"version": "7.1"
74-
},
75-
"SAUCELABS_IOS8": {
76-
"base": "SauceLabs",
77-
"browserName": "iphone",
78-
"platform": "OS X 10.10",
79-
"version": "8.4"
80-
},
81-
"SAUCELABS_IOS9": {
82-
"base": "SauceLabs",
83-
"browserName": "iphone",
84-
"platform": "OS X 10.10",
85-
"version": "9.1"
86-
},
87-
"SAUCELABS_IOS11": {
88-
"base": "SauceLabs",
89-
"browserName": "iphone",
90-
"platform": "Mac 10.12",
91-
"version": "11.2"
92-
},
93-
"SAUCELABS_IE9": {
94-
"base": "SauceLabs",
95-
"browserName": "internet explorer",
96-
"platform": "Windows 2008",
97-
"version": "9"
98-
},
99-
"SAUCELABS_IE10": {
100-
"base": "SauceLabs",
101-
"browserName": "internet explorer",
102-
"platform": "Windows 2012",
103-
"version": "10"
104-
},
105-
"SAUCELABS_IE11": {
106-
"base": "SauceLabs",
107-
"browserName": "internet explorer",
108-
"platform": "Windows 8.1",
109-
"version": "11"
110-
},
111-
"SAUCELABS_EDGE": {
112-
"base": "SauceLabs",
113-
"browserName": "microsoftedge",
114-
"platform": "Windows 10",
115-
"version": "17"
116-
},
117-
"SAUCELABS_ANDROID4.1": {
118-
"base": "SauceLabs",
119-
"browserName": "android",
120-
"platform": "Linux",
121-
"version": "4.1"
122-
},
123-
"SAUCELABS_ANDROID4.2": {
124-
"base": "SauceLabs",
125-
"browserName": "android",
126-
"platform": "Linux",
127-
"version": "4.2"
128-
},
129-
"SAUCELABS_ANDROID4.3": {
130-
"base": "SauceLabs",
131-
"browserName": "android",
132-
"platform": "Linux",
133-
"version": "4.3"
134-
},
135-
"SAUCELABS_ANDROID4.4": {
9+
"SAUCELABS_IOS13": {
13610
"base": "SauceLabs",
137-
"browserName": "android",
138-
"platform": "Linux",
139-
"version": "4.4"
11+
"browserName": "Safari",
12+
"platformVersion": "13.2",
13+
"platformName": "iOS",
14+
"deviceName": "iPhone XS Simulator"
14015
},
141-
"SAUCELABS_ANDROID5": {
16+
"SAUCELABS_EDGE83": {
14217
"base": "SauceLabs",
143-
"browserName": "android",
144-
"platform": "Linux",
145-
"version": "5.1"
146-
},
147-
"BROWSERSTACK_CHROME": {
148-
"base": "BrowserStack",
149-
"browser": "chrome",
150-
"os": "OS X",
151-
"os_version": "Yosemite"
152-
},
153-
"BROWSERSTACK_FIREFOX": {
154-
"base": "BrowserStack",
155-
"browser": "firefox",
156-
"os": "Windows",
157-
"os_version": "10"
158-
},
159-
"BROWSERSTACK_SAFARI7": {
160-
"base": "BrowserStack",
161-
"browser": "safari",
162-
"os": "OS X",
163-
"os_version": "Mavericks"
164-
},
165-
"BROWSERSTACK_SAFARI8": {
166-
"base": "BrowserStack",
167-
"browser": "safari",
168-
"os": "OS X",
169-
"os_version": "Yosemite"
18+
"browserName": "MicrosoftEdge",
19+
"browserVersion": "83.0",
20+
"platformName": "Windows 10"
17021
},
171-
"BROWSERSTACK_SAFARI9": {
22+
"BROWSERSTACK_SAFARI13": {
17223
"base": "BrowserStack",
173-
"browser": "safari",
24+
"browserName": "Safari",
25+
"browser_version": "13.1",
17426
"os": "OS X",
175-
"os_version": "El Capitan"
176-
},
177-
"BROWSERSTACK_SAFARI10": {
178-
"base": "BrowserStack",
179-
"browser": "safari",
180-
"browser_version": "10.1",
181-
"os": "OS X",
182-
"os_version": "Sierra"
183-
},
184-
"BROWSERSTACK_IOS7": {
185-
"base": "BrowserStack",
186-
"device": "iPhone 5S",
187-
"os": "ios",
188-
"os_version": "7.0",
189-
"real_mobile": true,
190-
"resolution": "1024x768"
191-
},
192-
"BROWSERSTACK_IOS8": {
193-
"base": "BrowserStack",
194-
"device": "iPhone 6",
195-
"os": "ios",
196-
"os_version": "8.3",
197-
"real_mobile": true,
198-
"resolution": "1024x768"
199-
},
200-
"BROWSERSTACK_IOS9": {
201-
"base": "BrowserStack",
202-
"device": "iPhone 6S",
203-
"os": "ios",
204-
"os_version": "9.0",
205-
"real_mobile": true,
206-
"resolution": "1024x768"
207-
},
208-
"BROWSERSTACK_IOS10": {
209-
"base": "BrowserStack",
210-
"device": "iPhone 7",
211-
"os": "ios",
212-
"real_mobile": true,
213-
"os_version": "10.0"
214-
},
215-
"BROWSERSTACK_IOS11": {
216-
"base": "BrowserStack",
217-
"device": "iPhone 8",
218-
"os": "ios",
219-
"os_version": "11.0",
220-
"real_mobile": true
221-
},
222-
"BROWSERSTACK_IE9": {
223-
"base": "BrowserStack",
224-
"browser": "ie",
225-
"browser_version": "9.0",
226-
"os": "Windows",
227-
"os_version": "7"
228-
},
229-
"BROWSERSTACK_IE10": {
230-
"base": "BrowserStack",
231-
"browser": "ie",
232-
"browser_version": "10.0",
233-
"os": "Windows",
234-
"os_version": "8"
235-
},
236-
"BROWSERSTACK_IE11": {
237-
"base": "BrowserStack",
238-
"browser": "ie",
239-
"browser_version": "11.0",
240-
"os": "Windows",
241-
"os_version": "10"
242-
},
243-
"BROWSERSTACK_EDGE": {
244-
"base": "BrowserStack",
245-
"browser": "Edge",
246-
"browser_version": "17.0",
247-
"os": "Windows",
248-
"os_version": "10"
249-
},
250-
"BROWSERSTACK_WINDOWSPHONE": {
251-
"base": "BrowserStack",
252-
"device": "Nokia Lumia 930",
253-
"os": "winphone",
254-
"real_mobile": true,
255-
"os_version": "8.1"
256-
},
257-
"BROWSERSTACK_ANDROID5": {
258-
"base": "BrowserStack",
259-
"device": "Google Nexus 5",
260-
"os": "android",
261-
"real_mobile": true,
262-
"os_version": "5.0"
263-
},
264-
"BROWSERSTACK_ANDROID4.4": {
265-
"base": "BrowserStack",
266-
"device": "HTC One M8",
267-
"os": "android",
268-
"real_mobile": true,
269-
"os_version": "4.4"
270-
},
271-
"BROWSERSTACK_ANDROID4.3": {
272-
"base": "BrowserStack",
273-
"device": "Samsung Galaxy S4",
274-
"os": "android",
275-
"real_mobile": true,
276-
"os_version": "4.3"
277-
},
278-
"BROWSERSTACK_ANDROID4.2": {
279-
"base": "BrowserStack",
280-
"device": "Google Nexus 4",
281-
"os": "android",
282-
"real_mobile": true,
283-
"os_version": "4.2"
284-
},
285-
"BROWSERSTACK_ANDROID4.1": {
286-
"base": "BrowserStack",
287-
"device": "Google Nexus 7",
288-
"os": "android",
289-
"real_mobile": true,
290-
"os_version": "4.1"
27+
"os_version": "Catalina"
29128
}
29229
}

test/karma.conf.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ module.exports = config => {
106106
browserDisconnectTolerance: 1,
107107
browserNoActivityTimeout: 300000,
108108

109-
browsers: ['ChromeHeadlessLocal'],
109+
browsers: [],
110110
singleRun: false,
111111

112112
// Try Websocket for a faster transmission first. Fallback to polling if necessary.

0 commit comments

Comments
 (0)