Skip to content

Commit 1936b0b

Browse files
authored
fix: disable retryFailedStep when using with tryTo (#4022)
1 parent d0901d8 commit 1936b0b

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

lib/plugin/retryFailedStep.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
const event = require('../event');
22
const recorder = require('../recorder');
3+
const container = require('../container');
34

45
const defaultConfig = {
56
retries: 3,
@@ -98,6 +99,8 @@ module.exports = (config) => {
9899
config.when = when;
99100

100101
event.dispatcher.on(event.step.started, (step) => {
102+
if (container.plugins('tryTo')) return;
103+
101104
// if a step is ignored - return
102105
for (const ignored of config.ignoredSteps) {
103106
if (step.name === ignored) return;

test/unit/plugin/retryFailedStep_test.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ describe('retryFailedStep', () => {
2828
event.dispatcher.emit(event.step.started, { name: 'click' });
2929

3030
let counter = 0;
31-
recorder.add(() => {
31+
await recorder.add(() => {
3232
counter++;
3333
if (counter < 3) {
3434
throw new Error();
@@ -51,7 +51,7 @@ describe('retryFailedStep', () => {
5151
});
5252
await recorder.promise();
5353
} catch (e) {
54-
recorder.catchWithoutStop((err) => err);
54+
await recorder.catchWithoutStop((err) => err);
5555
}
5656

5757
// expects to retry only once
@@ -65,15 +65,15 @@ describe('retryFailedStep', () => {
6565
let counter = 0;
6666
event.dispatcher.emit(event.step.started, { name: 'waitForElement' });
6767
try {
68-
recorder.add(() => {
68+
await recorder.add(() => {
6969
counter++;
7070
if (counter < 3) {
7171
throw new Error();
7272
}
7373
}, undefined, undefined, true);
7474
await recorder.promise();
7575
} catch (e) {
76-
recorder.catchWithoutStop((err) => err);
76+
await recorder.catchWithoutStop((err) => err);
7777
}
7878

7979
expect(counter).to.equal(1);
@@ -87,15 +87,15 @@ describe('retryFailedStep', () => {
8787
let counter = 0;
8888
event.dispatcher.emit(event.step.started, { name: 'amOnPage' });
8989
try {
90-
recorder.add(() => {
90+
await recorder.add(() => {
9191
counter++;
9292
if (counter < 3) {
9393
throw new Error();
9494
}
9595
}, undefined, undefined, true);
9696
await recorder.promise();
9797
} catch (e) {
98-
recorder.catchWithoutStop((err) => err);
98+
await recorder.catchWithoutStop((err) => err);
9999
}
100100

101101
expect(counter).to.equal(1);
@@ -109,15 +109,15 @@ describe('retryFailedStep', () => {
109109
let counter = 0;
110110
event.dispatcher.emit(event.step.started, { name: 'somethingNew' });
111111
try {
112-
recorder.add(() => {
112+
await recorder.add(() => {
113113
counter++;
114114
if (counter < 3) {
115115
throw new Error();
116116
}
117117
}, undefined, undefined, true);
118118
await recorder.promise();
119119
} catch (e) {
120-
recorder.catchWithoutStop((err) => err);
120+
await recorder.catchWithoutStop((err) => err);
121121
}
122122

123123
expect(counter).to.equal(1);
@@ -131,15 +131,15 @@ describe('retryFailedStep', () => {
131131
let counter = 0;
132132
event.dispatcher.emit(event.step.started, { name: 'somethingNew' });
133133
try {
134-
recorder.add(() => {
134+
await recorder.add(() => {
135135
counter++;
136136
if (counter < 3) {
137137
throw new Error();
138138
}
139139
}, undefined, undefined, true);
140140
await recorder.promise();
141141
} catch (e) {
142-
recorder.catchWithoutStop((err) => err);
142+
await recorder.catchWithoutStop((err) => err);
143143
}
144144

145145
expect(counter).to.equal(1);
@@ -161,7 +161,7 @@ describe('retryFailedStep', () => {
161161
});
162162
await recorder.promise();
163163
} catch (e) {
164-
recorder.catchWithoutStop((err) => err);
164+
await recorder.catchWithoutStop((err) => err);
165165
}
166166

167167
// expects to retry only once

0 commit comments

Comments
 (0)