2016-08-01 11 views
2

Ich muss überprüfen, mit Expect und Jasmine, wenn der Text der Spannweite in der Schaltfläche ist "Vigente". Wie kann ich es tun?Erhalten Sie einen Text in der Spanne, mit Winkelmesser

<button _ngcontent-hke-28="" class="btn btn-success disabled" tabindex="-1"> 
<span _ngcontent-hke-28="" class="glyphicon glyphicon-check"> 
</span> Vigente</button> 

Kann ich XPath wie folgt aus:

/html/body/application/Auth-Container/Layout/div/main-content/div/norma-Cadastro/div/form/div [8]/div/Knopf/Text (vigente)

Antwort

2

zu allererst der XPath-Ausdruck Sie fragen nicht korrekt ist - die Vigente Teil in der Klammer ist nicht erforderlich. Versuchen Sie auch nicht, absolute XPath-Ausdrücke zu verwenden, da mehr Ebenen in Ihrem Pfad vorhanden sind, je höher die Wahrscheinlichkeit ist, dass sie brechen. Und, XPaths are not recommended by the Protractor team.

Stattdessen würde ich das Element by partial button text und prüfen Sie das Vorhandensein dieses Elements finden:

expect(element(by.partialButtonText("Vigente")).isPresent()).toBe(true); 

Oder Sie das Element lokalisieren kann, sagen wir, einen CSS-Selektor und erhalten den Text:

expect($("button.btn-success").getText()).toContain(Vigente); 

Die button.btn-success CSS-Selektor ist zwar ziemlich breit, sehen Sie, ob Sie es verbessern können.

+0

Und wenn ich eine Schaltfläche mit dem Text "Vigência invalida". Ich versuche mit 'expect (Element (by.partialButtonText (" Vigência Invalida ")). IsPresent()). To (true);' aber es funktioniert nicht – paulotarcio

+0

@paulotarcio okay, bist du sicher der führende Raum wird gebraucht? Vielen Dank. – alecxe

+0

Ich versuchte, ohne den führenden Platz und mit dem Leaging-Raum, beide nicht – paulotarcio

0

Kann nicht sagen, ob es korrekt ist oder nicht .. Aber Sie können es selbst in Chrome Dev-Tools überprüfen. Überprüfen Sie einfach das Element auf dem Element. Klicken Sie dann mit der rechten Maustaste auf das Element in HTML und klicken Sie auf Kopieren. Ich würde empfehlen, IDs oder Winkelmodell zu verwenden, wenn Sie können. XPaths ändern sich mit der Änderung von HTML (es sei denn, Sie verwenden IDs in XPath sowieso) und die Wartung der Tests wird zu einer Aufgabe.

Siehe das Bild.

enter image description here

+0

Ich kann kein Modell oder eine ID verwenden, da die Develepors nicht die Angewohnheit haben, sie zu verwenden es. Deshalb benutze ich xpath – paulotarcio

Verwandte Themen