@@ -80,7 +80,7 @@ export class ProtractorBy extends WebdriverBy {
80
80
this [ name ] = ( ...args : any [ ] ) : ProtractorLocator => {
81
81
const locatorArguments = args ;
82
82
return {
83
- findElementsOverride : ( driver : WebDriver , using: WebElement , rootSelector : string) :
83
+ findElementsOverride : async ( driver : WebDriver , using: WebElement , rootSelector : string) :
84
84
Promise < WebElement [ ] > = > {
85
85
let findElementArguments : any [ ] = [ script ] ;
86
86
for ( let i = 0 ; i < locatorArguments . length ; i ++ ) {
@@ -89,9 +89,7 @@ export class ProtractorBy extends WebdriverBy {
89
89
findElementArguments . push ( using) ;
90
90
findElementArguments . push ( rootSelector ) ;
91
91
92
- // TODO(selenium4): clean up cast to native Promise.
93
- return driver . findElements ( By . js . apply ( By , findElementArguments ) ) as
94
- Promise < WebElement [ ] > ;
92
+ return await driver . findElements ( By . js . apply ( By , findElementArguments ) ) ;
95
93
} ,
96
94
toString : ( ) : string => {
97
95
return 'by.' + name + '("' + Array . prototype . join . call ( locatorArguments , '", "' ) + '")' ;
@@ -132,12 +130,10 @@ export class ProtractorBy extends WebdriverBy {
132
130
*/
133
131
binding ( bindingDescriptor : string ) : ProtractorLocator {
134
132
return {
135
- findElementsOverride : ( driver : WebDriver , using: WebElement , rootSelector : string) :
133
+ findElementsOverride : async ( driver : WebDriver , using: WebElement , rootSelector : string) :
136
134
Promise < WebElement [ ] > = > {
137
- // TODO(selenium4): clean up cast to native Promise.
138
- return driver . findElements ( By . js (
139
- clientSideScripts . findBindings , bindingDescriptor , false , using,
140
- rootSelector ) ) as Promise < WebElement [ ] > ;
135
+ return await driver . findElements ( By . js (
136
+ clientSideScripts . findBindings , bindingDescriptor , false , using, rootSelector ) ) ;
141
137
} ,
142
138
toString : ( ) : string => {
143
139
return 'by.binding("' + bindingDescriptor + '")' ;
@@ -166,13 +162,11 @@ export class ProtractorBy extends WebdriverBy {
166
162
*/
167
163
exactBinding ( bindingDescriptor : string ) : ProtractorLocator {
168
164
return {
169
- findElementsOverride : (
170
- driver : WebDriver , using: WebElement , rootSelector : string) : Promise < WebElement [ ] > = > {
171
- // TODO(selenium4): clean up cast to native Promise.
172
- return driver . findElements ( By . js (
173
- clientSideScripts . findBindings , bindingDescriptor , true , using, rootSelector ) ) as
174
- Promise < WebElement [ ] > ;
175
- } ,
165
+ findElementsOverride : async ( driver : WebDriver , using: WebElement , rootSelector : string) :
166
+ Promise < WebElement [ ] > = > {
167
+ return await driver . findElements ( By . js (
168
+ clientSideScripts . findBindings , bindingDescriptor , true , using, rootSelector ) ) ;
169
+ } ,
176
170
toString : ( ) : string => {
177
171
return 'by.exactBinding("' + bindingDescriptor + '")' ;
178
172
}
@@ -196,12 +190,10 @@ export class ProtractorBy extends WebdriverBy {
196
190
*/
197
191
model ( model : string ) : ProtractorLocator {
198
192
return {
199
- findElementsOverride : ( driver : WebDriver , using: WebElement , rootSelector : string) :
193
+ findElementsOverride : async ( driver : WebDriver , using: WebElement , rootSelector : string) :
200
194
Promise < WebElement [ ] > = > {
201
- // TODO(selenium4): clean up cast to native Promise.
202
- return driver . findElements (
203
- By . js ( clientSideScripts . findByModel , model , using, rootSelector ) ) as
204
- Promise < WebElement [ ] > ;
195
+ return await driver . findElements (
196
+ By . js ( clientSideScripts . findByModel , model , using, rootSelector ) ) ;
205
197
} ,
206
198
toString : ( ) : string => {
207
199
return 'by.model("' + model + '")' ;
@@ -223,12 +215,10 @@ export class ProtractorBy extends WebdriverBy {
223
215
*/
224
216
buttonText ( searchText : string ) : ProtractorLocator {
225
217
return {
226
- findElementsOverride : ( driver : WebDriver , using: WebElement , rootSelector : string) :
218
+ findElementsOverride : async ( driver : WebDriver , using: WebElement , rootSelector : string) :
227
219
Promise < WebElement [ ] > = > {
228
- // TODO(selenium4): clean up cast to native Promise.
229
- return driver . findElements ( By . js (
230
- clientSideScripts . findByButtonText , searchText , using, rootSelector ) ) as
231
- Promise < WebElement [ ] > ;
220
+ return driver . findElements (
221
+ By . js ( clientSideScripts . findByButtonText , searchText , using, rootSelector ) ) ;
232
222
} ,
233
223
toString : ( ) : string => {
234
224
return 'by.buttonText("' + searchText + '")' ;
@@ -250,13 +240,11 @@ export class ProtractorBy extends WebdriverBy {
250
240
*/
251
241
partialButtonText ( searchText : string ) : ProtractorLocator {
252
242
return {
253
- findElementsOverride : (
254
- driver : WebDriver , using: WebElement , rootSelector : string) : Promise < WebElement [ ] > = > {
255
- // TODO(selenium4): clean up cast to native Promise.
256
- return driver . findElements ( By . js (
257
- clientSideScripts . findByPartialButtonText , searchText , using, rootSelector ) ) as
258
- Promise < WebElement [ ] > ;
259
- } ,
243
+ findElementsOverride : async ( driver : WebDriver , using: WebElement , rootSelector : string) :
244
+ Promise < WebElement [ ] > = > {
245
+ return driver . findElements (
246
+ By . js ( clientSideScripts . findByPartialButtonText , searchText , using, rootSelector ) ) ;
247
+ } ,
260
248
toString : ( ) : string => {
261
249
return 'by.partialButtonText("' + searchText + '")' ;
262
250
}
@@ -267,36 +255,34 @@ export class ProtractorBy extends WebdriverBy {
267
255
private byRepeaterInner ( exact : boolean , repeatDescriptor : string) : ProtractorLocator {
268
256
let name = 'by.' + ( exact ? 'exactR' : 'r' ) + 'epeater' ;
269
257
return {
270
- findElementsOverride : ( driver : WebDriver , using: WebElement , rootSelector : string) :
271
- Promise < WebElement [ ] > = > {
272
- // TODO(selenium4): clean up cast to native Promise.
273
- return driver . findElements ( By . js (
274
- clientSideScripts . findAllRepeaterRows , repeatDescriptor , exact , using,
275
- rootSelector ) ) as Promise < WebElement [ ] > ;
276
- } ,
258
+ findElementsOverride : async (
259
+ driver : WebDriver , using: WebElement , rootSelector : string) : Promise < WebElement [ ] > = > {
260
+ return driver . findElements ( By . js (
261
+ clientSideScripts . findAllRepeaterRows , repeatDescriptor , exact , using, rootSelector ) ) ;
262
+ } ,
277
263
toString : ( ) : string => {
278
264
return name + '("' + repeatDescriptor + '")' ;
279
265
} ,
280
266
row : ( index : number ) : ProtractorLocator => {
281
267
return {
282
- findElementsOverride : ( driver : WebDriver , using: WebElement , rootSelector : string) :
268
+ findElementsOverride : async ( driver : WebDriver , using: WebElement , rootSelector : string) :
283
269
Promise < WebElement [ ] > = > {
284
- return driver . findElements ( By . js (
285
- clientSideScripts . findRepeaterRows , repeatDescriptor , exact , index ,
286
- using , rootSelector ) ) as Promise < WebElement [ ] > ;
270
+ return await driver . findElements ( By . js (
271
+ clientSideScripts . findRepeaterRows , repeatDescriptor , exact , index , using ,
272
+ rootSelector ) ) ;
287
273
} ,
288
274
toString : ( ) : string => {
289
275
return name + '(' + repeatDescriptor + '").row("' + index + '")"' ;
290
276
} ,
291
277
column : ( binding : string) : ProtractorLocator => {
292
278
return {
293
- findElementsOverride : ( driver : WebDriver , using: WebElement , rootSelector : string ) :
294
- Promise < WebElement [ ] > = > {
295
- // TODO(selenium4): clean up cast to native Promise.
296
- return driver . findElements ( By . js (
297
- clientSideScripts . findRepeaterElement , repeatDescriptor , exact ,
298
- index , binding , using, rootSelector ) ) as Promise < WebElement [ ] > ;
299
- } ,
279
+ findElementsOverride :
280
+ async ( driver : WebDriver , using: WebElement , rootSelector : string ) :
281
+ Promise < WebElement [ ] > = > {
282
+ return driver . findElements ( By . js (
283
+ clientSideScripts . findRepeaterElement , repeatDescriptor , exact , index ,
284
+ binding , using, rootSelector ) ) ;
285
+ } ,
300
286
toString : ( ) : string => {
301
287
return name + '("' + repeatDescriptor + '").row("' + index + '").column("' +
302
288
binding + '")' ;
@@ -307,25 +293,24 @@ export class ProtractorBy extends WebdriverBy {
307
293
} ,
308
294
column : ( binding : string) : ProtractorLocator => {
309
295
return {
310
- findElementsOverride : ( driver : WebDriver , using: WebElement , rootSelector : string) :
296
+ findElementsOverride : async ( driver : WebDriver , using: WebElement , rootSelector : string) :
311
297
Promise < WebElement [ ] > = > {
312
- // TODO(selenium4): clean up cast to native Promise.
313
298
return driver . findElements ( By . js (
314
- clientSideScripts . findRepeaterColumn , repeatDescriptor , exact , binding ,
315
- using , rootSelector ) ) as Promise < WebElement [ ] > ;
299
+ clientSideScripts . findRepeaterColumn , repeatDescriptor , exact , binding , using ,
300
+ rootSelector ) ) ;
316
301
} ,
317
302
toString : ( ) : string => {
318
303
return name + '("' + repeatDescriptor + '").column("' + binding + '")' ;
319
304
} ,
320
305
row : ( index : number ) : ProtractorLocator => {
321
306
return {
322
- findElementsOverride : ( driver : WebDriver , using: WebElement , rootSelector : string ) :
323
- Promise < WebElement [ ] > = > {
324
- // TODO(selenium4): clean up cast to native Promise.
325
- return driver . findElements ( By . js (
326
- clientSideScripts . findRepeaterElement , repeatDescriptor , exact ,
327
- index , binding , using, rootSelector ) ) as Promise < WebElement [ ] > ;
328
- } ,
307
+ findElementsOverride :
308
+ async ( driver : WebDriver , using: WebElement , rootSelector : string ) :
309
+ Promise < WebElement [ ] > = > {
310
+ return driver . findElements ( By . js (
311
+ clientSideScripts . findRepeaterElement , repeatDescriptor , exact , index ,
312
+ binding , using, rootSelector ) ) ;
313
+ } ,
329
314
toString : ( ) : string => {
330
315
return name + '("' + repeatDescriptor + '").column("' + binding + '").row("' +
331
316
index + '")' ;
@@ -437,12 +422,11 @@ export class ProtractorBy extends WebdriverBy {
437
422
cssContainingText ( cssSelector : string, searchText : string| RegExp ) : ProtractorLocator {
438
423
searchText = ( searchText instanceof RegExp ) ? '__REGEXP__' + searchText . toString ( ) : searchText ;
439
424
return {
440
- findElementsOverride : ( driver : WebDriver , using: WebElement , rootSelector : string) :
425
+ findElementsOverride : async ( driver : WebDriver , using: WebElement , rootSelector : string) :
441
426
Promise < WebElement [ ] > = > {
442
- // TODO(selenium4): clean up cast to native Promise.
443
- return driver . findElements ( By . js (
444
- clientSideScripts . findByCssContainingText , cssSelector , searchText , using,
445
- rootSelector ) ) as Promise < WebElement [ ] > ;
427
+ return await driver . findElements ( By . js (
428
+ clientSideScripts . findByCssContainingText , cssSelector , searchText , using,
429
+ rootSelector ) ) ;
446
430
} ,
447
431
toString : ( ) : string => {
448
432
return 'by.cssContainingText("' + cssSelector + '", "' + searchText + '")' ;
@@ -471,12 +455,10 @@ export class ProtractorBy extends WebdriverBy {
471
455
*/
472
456
options ( optionsDescriptor : string) : ProtractorLocator {
473
457
return {
474
- findElementsOverride : ( driver : WebDriver , using: WebElement , rootSelector : string) :
458
+ findElementsOverride : async ( driver : WebDriver , using: WebElement , rootSelector : string) :
475
459
Promise < WebElement [ ] > = > {
476
- // TODO(selenium4): clean up cast to native Promise.
477
- return driver . findElements ( By . js (
478
- clientSideScripts . findByOptions , optionsDescriptor , using, rootSelector ) ) as
479
- Promise < WebElement [ ] > ;
460
+ return await driver . findElements (
461
+ By . js ( clientSideScripts . findByOptions , optionsDescriptor , using, rootSelector ) ) ;
480
462
} ,
481
463
toString : ( ) : string => {
482
464
return 'by.option("' + optionsDescriptor + '")' ;
0 commit comments