2016-05-15 11 views
0

Ich versuche das eckige js Tutorial zu machen, aber ich kann diesen Fehler nicht verstehen. Der Code: var phoneNameColumn = element.all (von.repeater ('phone in phones'). Spalte ('phone.name'));proctor.js Erwartet [] bis gleich ["...", "..."]

 function getNames() { 
     return phoneNameColumn.map(function(elm, index) { 
      return elm.getText(); 
     }); 
     } 

     expect(getNames()).toEqual([ 
     "Motorola XOOM\u2122 with Wi-Fi", 
     "Motorola XOOM\u2122" 
     ]); 

Wenn ich npm laufen Winkelmesser laufen sehe ich diesen Fehler msg Erwartet [], um gleich [ "Motorola XOOM \ u2122 mit Wi-Fi", "Motorola XOOM \ u2122"]

Antwort

0

schalte ich würde von der Nutzung der .column() zu:

function getColumnNames() { 
    return element.all(by.repeater('phone in phones')).map(function(elm, index) { 
     return elm.element(by.binding('phone.name')).getText(); 
    }); 
} 

expect(getColumnNames()).toEqual([ 
    "Motorola XOOM\u2122 with Wi-Fi", 
    "Motorola XOOM\u2122" 
]); 

Und würde ich add a wait auch den Test macht stabile:

var EC = protractor.ExpectedConditions; 
browser.wait(EC.presenceOf(element(by.binding('phone.name'))), 5000); 

expect(getColumnNames()).toEqual([ 
    "Motorola XOOM\u2122 with Wi-Fi", 
    "Motorola XOOM\u2122" 
]); 
+0

ich versuche, Was Sie vorschlagen, aber ich bekomme NoSuchElement Fehler: Kein Element gefunden mit Locator: by.binding ('phone.name') –

+0

@ JoãoHenriqueSouza in Ordnung, aktualisiert die Antwort - sehen, ob es hilft. – alecxe

+0

@alexce, vielen Dank Mann, die Tests funktionieren jetzt. –

Verwandte Themen