@@ -39,6 +39,7 @@ module.exports = {
39
39
const chromium = playwrightInstance
40
40
? playwrightInstance
41
41
: require ( '@playwright/test' ) . chromium ;
42
+
42
43
const debuggerDetails = await fetch ( 'http://127.0.0.1:9222/json/version' ) ; //DevSkim: ignore DS137138
43
44
const debuggerDetailsConfig = await debuggerDetails . json ( ) ;
44
45
const webSocketDebuggerUrl = debuggerDetailsConfig . webSocketDebuggerUrl ;
@@ -127,29 +128,30 @@ module.exports = {
127
128
return true ;
128
129
} ,
129
130
switchToWindow : async provider => {
130
- if ( pageWindows [ provider ] . isClosed ( ) ) {
131
+ if ( module . exports . windows ( provider ) . isClosed ( ) ) {
131
132
const newPage = await browser . contexts ( ) [ 0 ] . newPage ( ) ;
132
133
if ( provider === 'phantom' ) {
133
134
await Promise . all ( [
134
135
newPage . waitForNavigation ( ) ,
135
136
newPage . goto (
136
- pageWindows [ provider ]
137
+ module . exports
138
+ . windows ( provider )
137
139
. url ( )
138
140
. replace ( 'onboarding.html' , 'popup.html' ) ,
139
141
) ,
140
142
] ) ;
141
143
} else {
142
144
await Promise . all ( [
143
145
newPage . waitForNavigation ( ) ,
144
- newPage . goto ( pageWindows [ provider ] . url ( ) ) ,
146
+ newPage . goto ( module . exports . windows ( provider ) . url ( ) ) ,
145
147
] ) ;
146
148
await newPage . waitUntilStable ( provider ) ;
147
149
}
148
150
149
151
pageWindows [ provider ] = newPage ;
150
152
}
151
153
152
- await pageWindows [ provider ] . bringToFront ( ) ;
154
+ await module . exports . windows ( provider ) . bringToFront ( ) ;
153
155
await module . exports . assignActiveTabName ( provider ) ;
154
156
return true ;
155
157
} ,
@@ -168,7 +170,9 @@ module.exports = {
168
170
notificationWindows [ provider ] = page ;
169
171
retries = 0 ;
170
172
await page . bringToFront ( ) ;
171
- await module . exports . waitUntilStable ( provider , page ) ;
173
+ if ( provider == 'metamask' ) {
174
+ await module . exports . waitUntilStable ( provider , page ) ;
175
+ }
172
176
if ( provider === 'phantom' ) {
173
177
await module . exports . waitFor ( provider , app . root , page ) ;
174
178
} else {
@@ -193,8 +197,10 @@ module.exports = {
193
197
) ;
194
198
}
195
199
} ,
196
- async waitFor ( provider , selector , page = pageWindows [ provider ] ) {
197
- await module . exports . waitUntilStable ( provider , page ) ;
200
+ async waitFor ( provider , selector , page = module . exports . windows ( provider ) ) {
201
+ if ( provider == 'metamask' ) {
202
+ await module . exports . waitUntilStable ( provider , page ) ;
203
+ }
198
204
await page . waitForSelector ( selector , { strict : false } ) ;
199
205
const element = page . locator ( selector ) . first ( ) ;
200
206
await element . waitFor ( ) ;
@@ -211,7 +217,7 @@ module.exports = {
211
217
async waitAndClick (
212
218
provider ,
213
219
selector ,
214
- page = pageWindows [ provider ] ,
220
+ page = module . exports . windows ( provider ) ,
215
221
args = { } ,
216
222
) {
217
223
const element = await module . exports . waitFor ( provider , selector , page ) ;
@@ -240,7 +246,7 @@ module.exports = {
240
246
} else {
241
247
await element . click ( { force : args . force } ) ;
242
248
}
243
- if ( process . env . PROVIDER !== 'phantom ') {
249
+ if ( provider === 'metamask ') {
244
250
await module . exports . waitUntilStable ( provider ) ;
245
251
}
246
252
return element ;
@@ -249,19 +255,32 @@ module.exports = {
249
255
provider ,
250
256
selector ,
251
257
text ,
252
- page = pageWindows [ provider ] ,
258
+ page = module . exports . windows ( provider ) ,
253
259
) {
254
260
await module . exports . waitFor ( provider , selector , page ) ;
255
261
const element = page . locator ( `text=${ text } ` ) ;
256
262
await element . click ( ) ;
257
- await module . exports . waitUntilStable ( provider ) ;
263
+ if ( provider === 'metamask' ) {
264
+ await module . exports . waitUntilStable ( provider ) ;
265
+ }
258
266
} ,
259
- async waitAndType ( provider , selector , value , page = pageWindows [ provider ] ) {
267
+ async waitAndType (
268
+ provider ,
269
+ selector ,
270
+ value ,
271
+ page = module . exports . windows ( provider ) ,
272
+ ) {
260
273
const element = await module . exports . waitFor ( provider , selector , page ) ;
261
274
await element . type ( value ) ;
262
- await module . exports . waitUntilStable ( provider , page ) ;
275
+ if ( provider === 'metamask' ) {
276
+ await module . exports . waitUntilStable ( provider , page ) ;
277
+ }
263
278
} ,
264
- async waitAndGetValue ( provider , selector , page = pageWindows [ provider ] ) {
279
+ async waitAndGetValue (
280
+ provider ,
281
+ selector ,
282
+ page = module . exports . windows ( provider ) ,
283
+ ) {
265
284
const expect = global . expect
266
285
? global . expect
267
286
: require ( '@playwright/test' ) . expect ;
@@ -273,7 +292,11 @@ module.exports = {
273
292
const value = await element . innerText ( ) ;
274
293
return value ;
275
294
} ,
276
- async waitAndGetInputValue ( provider , selector , page = pageWindows [ provider ] ) {
295
+ async waitAndGetInputValue (
296
+ provider ,
297
+ selector ,
298
+ page = module . exports . windows ( provider ) ,
299
+ ) {
277
300
const expect = global . expect
278
301
? global . expect
279
302
: require ( '@playwright/test' ) . expect ;
@@ -286,7 +309,7 @@ module.exports = {
286
309
provider ,
287
310
selector ,
288
311
attribute ,
289
- page = pageWindows [ provider ] ,
312
+ page = module . exports . windows ( provider ) ,
290
313
) {
291
314
const expect = global . expect
292
315
? global . expect
@@ -300,7 +323,7 @@ module.exports = {
300
323
provider ,
301
324
text ,
302
325
selector ,
303
- page = pageWindows [ provider ] ,
326
+ page = module . exports . windows ( provider ) ,
304
327
) {
305
328
const element = await module . exports . waitFor ( provider , selector , page ) ;
306
329
await element . fill ( '' ) ;
@@ -311,7 +334,7 @@ module.exports = {
311
334
async waitAndClearWithBackspace (
312
335
provider ,
313
336
selector ,
314
- page = pageWindows [ provider ] ,
337
+ page = module . exports . windows ( provider ) ,
315
338
) {
316
339
await module . exports . waitFor ( provider , selector , page ) ;
317
340
const inputValue = await page . evaluate ( selector , el => el . value ) ;
@@ -324,7 +347,7 @@ module.exports = {
324
347
provider ,
325
348
text ,
326
349
selector ,
327
- page = pageWindows [ provider ] ,
350
+ page = module . exports . windows ( provider ) ,
328
351
) {
329
352
const element = await module . exports . waitAndClick (
330
353
provider ,
0 commit comments