Protractor: wie man den Textwert eines Elements liest

Erstellt am 3. Okt. 2013  ·  3Kommentare  ·  Quelle: angular/protractor

Ich versuche, den Textwert des Bindungselements zu lesen. Ich habe die Funktion getText() verwendet, um den Textwert von Elementen zu lesen, aber es funktioniert nicht. Gibt es eine andere Möglichkeit

ptor = protractor.getInstance();
ptor.get('http://www.angularjs.org');

ptor.findElement(protractor.By.input("yourName")).sendKeys("Julie");

var Gruß = ptor.findElement(protractor.By.binding("{{IhrName}}!"));

console.log(Gruß.getText());

Hilfreichster Kommentar

@vishalshivnath Bitte

@tennisgent Es gibt eine seltsame Eigenart des Webtreibers, dass getText() für <input> Elemente immer leer ist. Versuchen Sie es stattdessen mit userNameInput.getAttribute('value') .

Alle 3 Kommentare

Ich habe das gleiche Problem. Ich habe gerade den Winkelmesser zum Laufen gebracht, aber ich kann anscheinend keine Daten aus einem Eingabeelement abrufen. Mein Test ist:

it('should allow text entry into the userName field', function(){
    userNameInput = ptor.findElement(protractor.By.input('user.userName'));
    userNameInput.sendKeys(testUserName);
    expect(userNameInput.getText()).toEqual(testUserName);
});

aber der Test schlägt fehl mit:

1) Login-Tests Die Anmeldung sollte die Texteingabe in das Feld userName ermöglichenNachricht:Erwartet, dass '' gleich 'xacttester' ist.

Während ich mir den Test ansehe (indem ich ihn mit ptor.driver.sleep(2000) verlangsame), beobachte ich, wie er den Text in das Feld eingibt, aber wenn er dann getText() aufruft, gibt er eine leere Zeichenfolge zurück.

Hat jemand eine Idee was ich falsch mache?

@vishalshivnath Bitte

@tennisgent Es gibt eine seltsame Eigenart des Webtreibers, dass getText() für <input> Elemente immer leer ist. Versuchen Sie es stattdessen mit userNameInput.getAttribute('value') .

Ist es in Ordnung, $ anstelle von browser.findElement',

  it('should return the same result as browser.findElement', function() {
    browser.get('index.html');

   // var e = element(by.id('new_todo'));
    var e = $('#new-todo');
    e.sendKeys("foo");

    expect(e.getAttribute('value')).toEqual(
      "foo")
  });
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen