Skip to content

Commit da5fc16

Browse files
committed
SDK-1884: fixed scanner started twice.
1 parent 02ea36a commit da5fc16

File tree

1 file changed

+38
-14
lines changed
  • bin/accessibility-automation/cypress

1 file changed

+38
-14
lines changed

bin/accessibility-automation/cypress/index.js

Lines changed: 38 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@ commandToOverwrite.forEach((command) => {
1111
Cypress.Commands.overwrite(command, (originalFn, url, options) => {
1212
const attributes = Cypress.mocha.getRunner().suite.ctx.currentTest || Cypress.mocha.getRunner().suite.ctx._runnable;
1313
let shouldScanTestForAccessibility = shouldScanForAccessibility(attributes);
14-
if (!shouldScanTestForAccessibility) return;
15-
cy.wrap(null).performScan().then(() => originalFn(url, options));
14+
if (!shouldScanTestForAccessibility) {
15+
cy.wrap(null).then(() => originalFn(url, options));
16+
return;
17+
}
18+
else cy.wrap(null).performScan().then(() => originalFn(url, options));
1619
});
1720
});
1821

@@ -21,6 +24,7 @@ new Promise(async (resolve, reject) => {
2124
const isHttpOrHttps = /^(http|https):$/.test(win.location.protocol);
2225
if (!isHttpOrHttps) {
2326
resolve();
27+
return;
2428
}
2529

2630
function findAccessibilityAutomationElement() {
@@ -38,9 +42,11 @@ new Promise(async (resolve, reject) => {
3842
"Accessibility Automation Scanner is not ready on the page."
3943
)
4044
);
45+
return;
4146
} else if (findAccessibilityAutomationElement()) {
4247
clearInterval(intervalID);
4348
resolve("Scanner set");
49+
return;
4450
} else {
4551
count += 1;
4652
}
@@ -52,6 +58,7 @@ new Promise(async (resolve, reject) => {
5258
function onScanComplete() {
5359
win.removeEventListener("A11Y_SCAN_FINISHED", onScanComplete);
5460
resolve();
61+
return;
5562
}
5663

5764
win.addEventListener("A11Y_SCAN_FINISHED", onScanComplete);
@@ -66,7 +73,8 @@ new Promise(async (resolve, reject) => {
6673
.then(startScan)
6774
.catch(async (err) => {
6875
resolve("Scanner is not ready on the page after multiple retries. performscan");
69-
});
76+
return;
77+
});
7078
}
7179
})
7280

@@ -75,6 +83,7 @@ new Promise((resolve) => {
7583
const isHttpOrHttps = /^(http|https):$/.test(window.location.protocol);
7684
if (!isHttpOrHttps) {
7785
resolve();
86+
return;
7887
}
7988

8089
function findAccessibilityAutomationElement() {
@@ -92,9 +101,11 @@ new Promise((resolve) => {
92101
"Accessibility Automation Scanner is not ready on the page."
93102
)
94103
);
104+
return;
95105
} else if (findAccessibilityAutomationElement()) {
96106
clearInterval(intervalID);
97107
resolve("Scanner set");
108+
return;
98109
} else {
99110
count += 1;
100111
}
@@ -106,6 +117,7 @@ new Promise((resolve) => {
106117
function onReceiveSummary(event) {
107118
win.removeEventListener("A11Y_RESULTS_SUMMARY", onReceiveSummary);
108119
resolve(event.detail);
120+
return;
109121
}
110122

111123
win.addEventListener("A11Y_RESULTS_SUMMARY", onReceiveSummary);
@@ -120,7 +132,8 @@ new Promise((resolve) => {
120132
.then(getSummary)
121133
.catch((err) => {
122134
resolve();
123-
});
135+
return;
136+
});
124137
}
125138
})
126139

@@ -129,6 +142,7 @@ new Promise((resolve) => {
129142
const isHttpOrHttps = /^(http|https):$/.test(window.location.protocol);
130143
if (!isHttpOrHttps) {
131144
resolve();
145+
return;
132146
}
133147

134148
function findAccessibilityAutomationElement() {
@@ -146,9 +160,11 @@ new Promise((resolve) => {
146160
"Accessibility Automation Scanner is not ready on the page."
147161
)
148162
);
163+
return;
149164
} else if (findAccessibilityAutomationElement()) {
150165
clearInterval(intervalID);
151166
resolve("Scanner set");
167+
return;
152168
} else {
153169
count += 1;
154170
}
@@ -160,6 +176,7 @@ new Promise((resolve) => {
160176
function onReceivedResult(event) {
161177
win.removeEventListener("A11Y_RESULTS_RESPONSE", onReceivedResult);
162178
resolve(event.detail);
179+
return;
163180
}
164181

165182
win.addEventListener("A11Y_RESULTS_RESPONSE", onReceivedResult);
@@ -174,7 +191,8 @@ new Promise((resolve) => {
174191
.then(getResults)
175192
.catch((err) => {
176193
resolve();
177-
});
194+
return;
195+
});
178196
}
179197
});
180198

@@ -184,6 +202,7 @@ new Promise( (resolve, reject) => {
184202
const isHttpOrHttps = /^(http|https):$/.test(win.location.protocol);
185203
if (!isHttpOrHttps) {
186204
resolve("Unable to save accessibility results, Invalid URL.");
205+
return;
187206
}
188207

189208
function findAccessibilityAutomationElement() {
@@ -201,9 +220,11 @@ new Promise( (resolve, reject) => {
201220
"Accessibility Automation Scanner is not ready on the page."
202221
)
203222
);
223+
return;
204224
} else if (findAccessibilityAutomationElement()) {
205225
clearInterval(intervalID);
206226
resolve("Scanner set");
227+
return;
207228
} else {
208229
count += 1;
209230
}
@@ -214,6 +235,7 @@ new Promise( (resolve, reject) => {
214235
function saveResults() {
215236
function onResultsSaved(event) {
216237
resolve();
238+
return;
217239
}
218240
win.addEventListener("A11Y_RESULTS_SAVED", onResultsSaved);
219241
const e = new CustomEvent("A11Y_SAVE_RESULTS", {
@@ -229,11 +251,13 @@ new Promise( (resolve, reject) => {
229251
.then(saveResults)
230252
.catch(async (err) => {
231253
resolve("Scanner is not ready on the page after multiple retries. after run");
254+
return;
232255
});
233256
}
234257
} catch(error) {
235-
browserStackLog(`Error in saving results with error: ${error.message}`);
236-
resolve()
258+
browserStackLog(`Error in saving results with error: ${error.message}`);
259+
resolve();
260+
return;
237261
}
238262

239263
})
@@ -313,7 +337,7 @@ afterEach(() => {
313337
})
314338

315339
} catch (er) {
316-
browserStackLog(`Error in saving results with error: ${er.message}`);
340+
browserStackLog(`Error in saving results with error: ${er.message}`);
317341
}
318342
})
319343
});
@@ -332,8 +356,8 @@ Cypress.Commands.add('performScan', () => {
332356
cy.wrap(performScan(win), {timeout:40000});
333357
});
334358
} catch(error) {
335-
browserStackLog(`Error in performing scan with error: ${error.message}`);
336-
}
359+
browserStackLog(`Error in performing scan with error: ${error.message}`);
360+
}
337361
})
338362

339363
Cypress.Commands.add('getAccessibilityResultsSummary', () => {
@@ -350,8 +374,8 @@ Cypress.Commands.add('getAccessibilityResultsSummary', () => {
350374
return await getAccessibilityResultsSummary(win);
351375
});
352376
} catch(error) {
353-
browserStackLog(`Error in getting accessibilty results summary with error: ${error.message}`);
354-
}
377+
browserStackLog(`Error in getting accessibilty results summary with error: ${error.message}`);
378+
}
355379

356380
});
357381

@@ -373,6 +397,6 @@ Cypress.Commands.add('getAccessibilityResults', () => {
373397
});
374398

375399
} catch(error) {
376-
browserStackLog(`Error in getting accessibilty results with error: ${error.message}`);
377-
}
400+
browserStackLog(`Error in getting accessibilty results with error: ${error.message}`);
401+
}
378402
});

0 commit comments

Comments
 (0)