2017-05-26 5 views
0

Ich möchte einen Testfall schreiben, in dem ich den Wert eines Elements auf der vorherigen Seite mit dem Wert eines Elements in der aktuellen Seite vergleichen.Element.getText() in Winkelmesser

ich den folgenden Code verwenden -

validateText = SoftwaresUnmappedPage_POM.checkFirstSoftwareName.getText(); 

expect(validateText+"*").toBe(SoftwareSummary_POM.softwareName.getText()); 

Zum Beispiel - Wenn ich auf einer Schaltfläche (ABC) klicken, dann lädt er eine Seite. Diese Seite enthält Elemente, die das Element angeben, auf das ich geklickt habe. Aber es zeigt den Namen als ABC * an. Also möchte ich überprüfen, ob das Element, auf das ich geklickt habe, und die Seite, auf der ich lande, die gleiche sind.

Fehler verursacht - Erwarte '[Objekt Objekt] ' zu 'ABC'.

Kann mir bitte jemand helfen, dieses Problem zu lösen? Vielen Dank.

Antwort

5

Dies funktioniert nicht, da der Winkelmesser mit Versprechen arbeitet. Sie müssen zuerst das Versprechen lösen, um das zu tun, was Sie testen möchten.

Dies funktioniert

SoftwaresUnmappedPage_POM.checkFirstSoftwareName.getText() 
 
    // Get the resolved text from the promise 
 
    .then(function (validateText){ 
 
    // Compare the result 
 
    expect(validateText+"*").toBe(SoftwareSummary_POM.softwareName.getText()); 
 
    });

hoffe, das hilft

1

Zusätzlich zu den oben Antwort, können Sie auch etwas tun, wie unten,

var validateText = SoftwaresUnmappedPage_POM.checkFirstSoftwareName.getText().then(function(validateText){ 
    return validateText+"*"; 
}); 
expect(validateText).toBe(SoftwareSummary_POM.softwareName.getText()); 
+0

Wenn Sie 'async/await' können Sie auch' validateText = await 'tun SoftwaresUnmappedPage_POM.checkFirstSoftwareName.getText(); expect (validateText + "*"). toBe (SoftwareSummary_POM.softwareName.getText()); ' – wswebcreation

Verwandte Themen