@@ -32,26 +32,17 @@ util.inherits(ProtractorBy, WebdriverBy);
32
32
*/
33
33
ProtractorBy . prototype . addLocator = function ( name , script ) {
34
34
this [ name ] = function ( ) {
35
- var toArray = function ( arguments ) {
36
- var locatorArguments = [ ] ;
37
- for ( var i = 0 ; i < arguments . length ; i ++ ) {
38
- locatorArguments . push ( arguments [ i ] ) ;
39
- }
40
- return locatorArguments ;
41
- }
42
- var buildFindElementsArguments = function (
43
- locator , locatorArguments , scope ) {
44
- var findArguments = locatorArguments . slice ( 0 ) ;
45
- findArguments . unshift ( locator ) ;
46
- findArguments . push ( scope ) ;
47
- return findArguments ;
48
- }
49
-
50
- var locatorArguments = toArray ( arguments ) ;
35
+ var locatorArguments = arguments ;
51
36
return {
52
37
findElementsOverride : function ( driver , using ) {
53
- return driver . findElements . apply ( driver , buildFindElementsArguments (
54
- webdriver . By . js ( script ) , locatorArguments , using ) ) ;
38
+ var findElementArguments = [ script ] ;
39
+ for ( var i = 0 ; i < locatorArguments . length ; i ++ ) {
40
+ findElementArguments . push ( locatorArguments [ i ] ) ;
41
+ }
42
+ findElementArguments . push ( using ) ;
43
+
44
+ return driver . findElements (
45
+ webdriver . By . js . apply ( webdriver . By , findElementArguments ) ) ;
55
46
} ,
56
47
message : 'by.' + name + '("' + locatorArguments + '")'
57
48
} ;
@@ -80,8 +71,8 @@ ProtractorBy.prototype.binding = function(bindingDescriptor) {
80
71
return {
81
72
findElementsOverride : function ( driver , using ) {
82
73
return driver . findElements (
83
- webdriver . By . js ( clientSideScripts . findBindings ) ,
84
- bindingDescriptor , using ) ;
74
+ webdriver . By . js ( clientSideScripts . findBindings ,
75
+ bindingDescriptor , using ) ) ;
85
76
} ,
86
77
message : 'by.binding("' + bindingDescriptor + '")'
87
78
} ;
@@ -100,7 +91,7 @@ ProtractorBy.prototype.select = function(model) {
100
91
return {
101
92
findElementsOverride : function ( driver , using ) {
102
93
return driver . findElements (
103
- webdriver . By . js ( clientSideScripts . findSelects ) , model , using ) ;
94
+ webdriver . By . js ( clientSideScripts . findSelects , model , using ) ) ;
104
95
} ,
105
96
message : 'by.select("' + model + '")'
106
97
} ;
@@ -117,7 +108,7 @@ ProtractorBy.prototype.selectedOption = function(model) {
117
108
return {
118
109
findElementsOverride : function ( driver , using ) {
119
110
return driver . findElements (
120
- webdriver . By . js ( clientSideScripts . findSelectedOptions ) , model , using ) ;
111
+ webdriver . By . js ( clientSideScripts . findSelectedOptions , model , using ) ) ;
121
112
} ,
122
113
message : 'by.selectedOption("' + model + '")'
123
114
} ;
@@ -135,7 +126,7 @@ ProtractorBy.prototype.input = function(model) {
135
126
return {
136
127
findElementsOverride : function ( driver , using ) {
137
128
return driver . findElements (
138
- webdriver . By . js ( clientSideScripts . findInputs ) , model , using ) ;
129
+ webdriver . By . js ( clientSideScripts . findInputs , model , using ) ) ;
139
130
} ,
140
131
message : 'by.input("' + model + '")'
141
132
} ;
@@ -159,7 +150,7 @@ ProtractorBy.prototype.model = function(model) {
159
150
return {
160
151
findElementsOverride : function ( driver , using ) {
161
152
return driver . findElements (
162
- webdriver . By . js ( clientSideScripts . findByModel ) , model , using ) ;
153
+ webdriver . By . js ( clientSideScripts . findByModel , model , using ) ) ;
163
154
} ,
164
155
message : 'by.model("' + model + '")'
165
156
} ;
@@ -181,7 +172,8 @@ ProtractorBy.prototype.buttonText = function(searchText) {
181
172
return {
182
173
findElementsOverride : function ( driver , using ) {
183
174
return driver . findElements (
184
- webdriver . By . js ( clientSideScripts . findByButtonText ) , searchText , using ) ;
175
+ webdriver . By . js ( clientSideScripts . findByButtonText ,
176
+ searchText , using ) ) ;
185
177
} ,
186
178
message : 'by.buttonText("' + searchText + '")'
187
179
} ;
@@ -203,7 +195,8 @@ ProtractorBy.prototype.partialButtonText = function(searchText) {
203
195
return {
204
196
findElementsOverride : function ( driver , using ) {
205
197
return driver . findElements (
206
- webdriver . By . js ( clientSideScripts . findByPartialButtonText ) , searchText , using ) ;
198
+ webdriver . By . js ( clientSideScripts . findByPartialButtonText ,
199
+ searchText , using ) ) ;
207
200
} ,
208
201
message : 'by.partialButtonText("' + searchText + '")'
209
202
} ;
@@ -222,7 +215,7 @@ ProtractorBy.prototype.textarea = function(model) {
222
215
return {
223
216
findElementsOverride : function ( driver , using ) {
224
217
return driver . findElements (
225
- webdriver . By . js ( clientSideScripts . findTextareas ) , model , using ) ;
218
+ webdriver . By . js ( clientSideScripts . findTextareas , model , using ) ) ;
226
219
} ,
227
220
message : 'by.textarea("' + model + '")'
228
221
} ;
@@ -257,24 +250,24 @@ ProtractorBy.prototype.repeater = function(repeatDescriptor) {
257
250
return {
258
251
findElementsOverride : function ( driver , using ) {
259
252
return driver . findElements (
260
- webdriver . By . js ( clientSideScripts . findAllRepeaterRows ) ,
261
- repeatDescriptor , using ) ;
253
+ webdriver . By . js ( clientSideScripts . findAllRepeaterRows ,
254
+ repeatDescriptor , using ) ) ;
262
255
} ,
263
256
message : 'by.repeater("' + repeatDescriptor + '")' ,
264
257
row : function ( index ) {
265
258
return {
266
259
findElementsOverride : function ( driver , using ) {
267
260
return driver . findElements (
268
- webdriver . By . js ( clientSideScripts . findRepeaterRows ) ,
269
- repeatDescriptor , index , using ) ;
261
+ webdriver . By . js ( clientSideScripts . findRepeaterRows ,
262
+ repeatDescriptor , index , using ) ) ;
270
263
} ,
271
264
message : 'by.repeater(' + repeatDescriptor + '").row("' + index + '")"' ,
272
265
column : function ( binding ) {
273
266
return {
274
267
findElementsOverride : function ( driver , using ) {
275
268
return driver . findElements (
276
- webdriver . By . js ( clientSideScripts . findRepeaterElement ) ,
277
- repeatDescriptor , index , binding , using ) ;
269
+ webdriver . By . js ( clientSideScripts . findRepeaterElement ,
270
+ repeatDescriptor , index , binding , using ) ) ;
278
271
} ,
279
272
message : 'by.repeater("' + repeatDescriptor + '").row("' + index +
280
273
'").column("' + binding + '")'
@@ -286,17 +279,17 @@ ProtractorBy.prototype.repeater = function(repeatDescriptor) {
286
279
return {
287
280
findElementsOverride : function ( driver , using ) {
288
281
return driver . findElements (
289
- webdriver . By . js ( clientSideScripts . findRepeaterColumn ) ,
290
- repeatDescriptor , binding , using ) ;
282
+ webdriver . By . js ( clientSideScripts . findRepeaterColumn ,
283
+ repeatDescriptor , binding , using ) ) ;
291
284
} ,
292
285
message : 'by.repeater("' + repeatDescriptor + '").column("' + binding +
293
286
'")' ,
294
287
row : function ( index ) {
295
288
return {
296
289
findElementsOverride : function ( driver , using ) {
297
290
return driver . findElements (
298
- webdriver . By . js ( clientSideScripts . findRepeaterElement ) ,
299
- repeatDescriptor , index , binding , using ) ;
291
+ webdriver . By . js ( clientSideScripts . findRepeaterElement ,
292
+ repeatDescriptor , index , binding , using ) ) ;
300
293
} ,
301
294
message : 'by.repeater("' + repeatDescriptor + '").column("' +
302
295
binding + '").row("' + index + '")'
0 commit comments