@@ -4,6 +4,36 @@ const { setCurrentTest } = require('../lib/currentTest');
4
4
5
5
const isLocalBuild = process . env . BROWSERSTACK_LOCAL === '1' ;
6
6
7
+ function checkEnvironmentVariables ( ) {
8
+ const errorMessages = [ ] ;
9
+ if ( ! process . env . BROWSERSTACK_USERNAME ) {
10
+ errorMessages . push ( '- Please set BROWSERSTACK_USERNAME to your BrowserStack username.' ) ;
11
+ }
12
+ if ( ! process . env . BROWSERSTACK_ACCESS_KEY ) {
13
+ errorMessages . push ( '- Please set BROWSERSTACK_ACCESS_KEY to your BrowserStack access key.' ) ;
14
+ }
15
+ if ( ! process . env . CI_TEST_DEPLOYMENT_BASE_URL ) {
16
+ errorMessages . push ( '- Please set CI_TEST_DEPLOYMENT_BASE_URL to the URL of the app to test.' ) ;
17
+ }
18
+
19
+ if ( ! isLocalBuild ) {
20
+ if ( ! process . env . CI_TEST_GIT_REF ) {
21
+ errorMessages . push ( '- Please set CI_TEST_GIT_REF to the git ref of the current build.' ) ;
22
+ }
23
+ if ( ! process . env . CI_TEST_GIT_SHA1 ) {
24
+ errorMessages . push ( '- Please set CI_TEST_GIT_SHA1 to the git sha1 of the current build.' ) ;
25
+ }
26
+ }
27
+
28
+ if ( errorMessages . length > 0 ) {
29
+ console . error ( 'Error: Missing environment variables:' ) ;
30
+ errorMessages . forEach ( ( message ) => console . error ( message ) ) ;
31
+ process . exit ( 1 ) ;
32
+ }
33
+ }
34
+
35
+ checkEnvironmentVariables ( ) ;
36
+
7
37
// https://github.com/browserstack/webdriverio-browserstack
8
38
exports . config = {
9
39
user : process . env . BROWSERSTACK_USERNAME ,
@@ -19,18 +49,19 @@ exports.config = {
19
49
] ,
20
50
21
51
updateJob : false ,
22
- specs : [ './tests /specs/**/*.js' ] ,
52
+ specs : [ '.. /specs/**/*.js' ] ,
23
53
exclude : [ ] ,
24
- maxInstances : 2 ,
54
+ maxInstances : 1 ,
25
55
26
56
commonCapabilities : {
27
- project : 'Wheelmap Frontend' ,
28
- build : isLocalBuild
29
- ? 'Local build'
30
- : [ process . env . CI_TEST_GIT_REF , process . env . CI_TEST_GIT_SHA1 ] . join ( ' - ' ) ,
31
- // name: 'parallel_test',
32
- 'browserstack.debug' : true ,
33
- 'browserstack.local' : 'false' ,
57
+ 'bstack:options' : {
58
+ project : 'Wheelmap Frontend' ,
59
+ buildName : isLocalBuild
60
+ ? 'Local build'
61
+ : [ process . env . CI_TEST_GIT_REF , process . env . CI_TEST_GIT_SHA1 ] . join ( ' - ' ) ,
62
+ 'debug' : true ,
63
+ // 'browserstack.local': `${isLocalBuild}`,
64
+ }
34
65
} ,
35
66
36
67
// Use https://www.browserstack.com/automate/capabilities to create capability sets.
@@ -41,70 +72,76 @@ exports.config = {
41
72
42
73
capabilities : [
43
74
{
44
- os : 'OS X' ,
45
- os_version : 'Catalina' ,
46
75
browserName : 'Chrome' ,
47
- browser_version : '87' ,
48
- 'browserstack.selenium_version' : '4.0.0-alpha-6' ,
49
- autoAcceptAlerts : 'true' ,
50
- 'goog:chromeOptions' : {
51
- prefs : {
52
- // 0 - Default, 1 - Allow, 2 - Block
53
- 'profile.managed_default_content_settings.geolocation' : 1 ,
54
- } ,
55
- } ,
56
- } ,
57
- {
58
- os : 'Windows' ,
59
- os_version : '7' ,
60
- browserName : 'Firefox' ,
61
- browser_version : 'latest' ,
62
- autoAcceptAlerts : 'true' ,
63
- 'browserstack.selenium_version' : '3.10.0' ,
64
- } ,
65
- {
66
76
'bstack:options' : {
77
+ browserVersion : 'latest' ,
67
78
os : 'OS X' ,
68
- osVersion : 'Big Sur' ,
69
- local : 'false' ,
70
- seleniumVersion : '4.0.0-alpha-6' ,
79
+ osVersion : 'Sonoma' ,
71
80
userName : 'holgerdieterich1' ,
72
81
accessKey : 'S2Lp7oshaL7SB38mn2TC' ,
73
- seleniumLogs : true ,
82
+ selfHeal : true ,
74
83
} ,
75
- browserName : 'Safari' ,
76
- browserVersion : '14.0' ,
77
- } ,
78
- {
79
- 'bstack:options' : {
80
- os : 'Windows' ,
81
- osVersion : '10' ,
82
- local : 'false' ,
83
- seleniumVersion : '4.0.0-alpha-6' ,
84
- userName : 'holgerdieterich1' ,
85
- accessKey : 'S2Lp7oshaL7SB38mn2TC' ,
84
+ 'goog:chromeOptions' : {
85
+ prefs : {
86
+ // 0 - Default, 1 - Allow, 2 - Block
87
+ 'profile.managed_default_content_settings.geolocation' : 1 ,
88
+ } ,
86
89
} ,
87
- browserName : 'Edge' ,
88
- browserVersion : 'latest' ,
89
- autoAcceptAlerts : 'true' ,
90
- } ,
91
- {
92
- os_version : '14' ,
93
- device : 'iPhone 12' ,
94
- real_mobile : 'true' ,
95
- browserName : 'iPhone' ,
96
- autoAcceptAlerts : 'true' ,
97
- 'browserstack.appium_version' : '1.19.1' ,
98
- } ,
99
- {
100
- os_version : '10.0' ,
101
- device : 'Samsung Galaxy S20' ,
102
- real_mobile : 'true' ,
103
- 'browserstack.appium_version' : '1.19.1' ,
104
- browserName : 'Android' ,
105
- // This doesn't work - we have to manually accept the alert dialog
106
- autoAcceptAlerts : 'true' ,
107
90
} ,
91
+ // {
92
+ // browserName: 'Firefox',
93
+ // 'bstack:options': {
94
+ // browserVersion: '127.0',
95
+ // os: 'Windows',
96
+ // osVersion: '11',
97
+ // selfHeal: true,
98
+ // userName: 'holgerdieterich1',
99
+ // accessKey: 'S2Lp7oshaL7SB38mn2TC',
100
+ // }
101
+ // },
102
+ // {
103
+ // 'bstack:options': {
104
+ // os: 'OS X',
105
+ // osVersion: 'Big Sur',
106
+ // local: 'false',
107
+ // seleniumVersion: '4.0.0-alpha-6',
108
+ // userName: 'holgerdieterich1',
109
+ // accessKey: 'S2Lp7oshaL7SB38mn2TC',
110
+ // seleniumLogs: true,
111
+ // },
112
+ // browserName: 'Safari',
113
+ // browserVersion: '14.0',
114
+ // },
115
+ // {
116
+ // browserName: 'Edge',
117
+ // 'bstack:options': {
118
+ // browserVersion: '125.0',
119
+ // os: 'Windows',
120
+ // osVersion: '11',
121
+ // userName: 'holgerdieterich1',
122
+ // accessKey: 'S2Lp7oshaL7SB38mn2TC',
123
+ // selfHeal: true,
124
+ // }
125
+ // },
126
+ // {
127
+ // browserName: 'safari',
128
+ // 'bstack:options': {
129
+ // deviceOrientation: 'portrait',
130
+ // deviceName: 'iPhone 12 Mini',
131
+ // osVersion: '16',
132
+ // // autoAcceptAlerts: 'true',
133
+ // }
134
+ // },
135
+ // {
136
+ // browserName: 'samsung',
137
+ // // This doesn't work - we have to manually accept the alert dialog
138
+ // 'bstack:options': {
139
+ // // autoGrantPermissions: 'true',
140
+ // deviceOrientation: 'portrait',
141
+ // deviceName: 'Samsung Galaxy S22',
142
+ // osVersion: '12.0'
143
+ // }
144
+ // }
108
145
] ,
109
146
110
147
logLevel : 'warn' ,
0 commit comments