@@ -4,6 +4,8 @@ var Element = require('../page-object/element.js');
4
4
5
5
module . exports = function ( Nightwatch ) {
6
6
7
+ var WEBDRIVER_ELEMENT_ID = 'element-6066-11e4-a52e-4f735466cecf' ;
8
+
7
9
var MOUSE_BUTTON_LEFT = 'left' ,
8
10
MOUSE_BUTTON_MIDDLE = 'middle' ,
9
11
MOUSE_BUTTON_RIGHT = 'right' ,
@@ -1385,30 +1387,36 @@ module.exports = function(Nightwatch) {
1385
1387
return sendRequest ( options , callback ) ;
1386
1388
}
1387
1389
1390
+ function validateElementEntry ( result ) {
1391
+ if ( ! result . ELEMENT && result [ WEBDRIVER_ELEMENT_ID ] ) {
1392
+ result . ELEMENT = result [ WEBDRIVER_ELEMENT_ID ] ;
1393
+ delete result [ WEBDRIVER_ELEMENT_ID ] ;
1394
+ }
1395
+
1396
+ return result ;
1397
+ }
1398
+
1388
1399
function postRequest ( path , data , callback ) {
1389
- var validateElementEntry = function ( result ) {
1390
- var ELEMENT_UID = 'element-6066-11e4-a52e-4f735466cecf' ;
1391
- if ( ! result . ELEMENT && result [ ELEMENT_UID ] ) {
1392
- result . ELEMENT = result [ ELEMENT_UID ] ;
1393
- delete result [ ELEMENT_UID ] ;
1394
- }
1395
- return result ;
1396
- } ;
1397
1400
if ( arguments . length === 2 && typeof data === 'function' ) {
1398
1401
callback = data ;
1399
1402
data = '' ;
1400
1403
}
1404
+
1401
1405
var options = {
1402
1406
path : '/session/' + Nightwatch . sessionId + path ,
1403
1407
method : 'POST' ,
1404
1408
data : data || ''
1405
1409
} ;
1410
+
1406
1411
return sendRequest ( options , function ( result ) {
1407
1412
if ( / \/ e l e m e n t $ / . test ( options . path ) && result . value ) {
1408
1413
result . value = validateElementEntry ( result . value ) ;
1409
- } else if ( / \/ e l e m e n t s $ / . test ( options . path ) && result . value [ 0 ] ) {
1410
- result . value [ 0 ] = validateElementEntry ( result . value [ 0 ] ) ;
1414
+ } else if ( / \/ e l e m e n t s $ / . test ( options . path ) && Array . isArray ( result . value ) ) {
1415
+ result . value = result . value . map ( function ( entry ) {
1416
+ return validateElementEntry ( entry ) ;
1417
+ } ) ;
1411
1418
}
1419
+
1412
1420
if ( typeof callback === 'function' ) {
1413
1421
callback . call ( this , result ) ;
1414
1422
}
0 commit comments