2015-02-09 7 views
8

Ich muss ein Element auswählen, senden Sie Werte, drücken Sie die Tabulatortaste und senden Sie dann neue Werte.Wie senden Tastaturtasten in Winkelmesser wie TAB

Ich kann das Element auswählen und Werte an es senden, aber nicht in der Lage sein, TAB von meiner Tastatur zu senden und dann neuen Wert zu senden.

Ich habe zuerst Ptor verwendet, aber dann wird es veraltet, ich versuche es jetzt mit browser.key, aber es funktioniert nicht für mich.

Bitte Hilfe!

+0

was erwarten Sie, wenn Sie eine 'TAB' Senden? normales Verhalten wäre, das Element mit einem größeren Tab-Index als das aktuell fokussierte Element zu fokussieren. oder willst du einen 'TAB' als Charackter wie '\ t'? – nilsK

+0

ohh Ich möchte zum nächsten Feld wechseln, auch ich versuche, die ENTER-Taste zu verwenden, aber ich könnte es auch nicht funktionieren. Ich weiß nicht, was genau ich in meinen Code schreiben soll. Ich versuche viele Dinge, aber nichts funktioniert so. – hny2015

Antwort

13

Ich habe ein Snippet geschrieben und es gegen google.de getestet (nicht .com! Vielleicht muss man das anpassen) und beim Senden von TAB bekommt das nächste Element den Fokus (in diesem Fall ist es die Suchschaltfläche).

das Snippet:

describe('Test', function() { 
    it('should browse to google', function() { 
    browser.ignoreSynchronization = true; 
    browser.driver.get('https://www.google.de'); 
    expect(browser.getCurrentUrl()).toEqual('https://www.google.de/'); 
    }); 
    it('should unfocus the search field', function() { 
    var search = element(by.name('q')); 
    search.sendKeys(protractor.Key.TAB); 
    browser.sleep(3000); // 3s to take a look ;) 
    }); 
}); 
+0

ok, das hat mir bei der TAB-Sache geholfen, jetzt da ich mein anderes Element, das ich in http://stackoverflow.com/questions/28363238/hard-time-having-finding- element-using-css-or erwähnt habe, nicht auswählen kann -irgendein-anderer-Locator-in-Winkelmesser und jetzt, wenn ich mit diesem Tab den Fokus auf ein neues Feld habe, wie kann ich einfach Werte dorthin senden. Wie zum Beispiel Benutzername und Passwort Felder. Ich gebe Benutzernamen ein und benutze dann TAB, um mich auf das Passwortfeld zu konzentrieren. Jetzt möchte ich nur ein Passwort eingeben, wie soll ich es tun. Ich bin total neu und kann dumme Fragen stellen – hny2015

+0

Sie könnten nur das Passwort Eingabefeld und [überprüfen, ob es konzentriert] (http://stackoverflow.com/questions/22753496/how-do-i-assert-an-element- is-focused/22756276 # 22756276) ich würde vorschlagen, die [page object docs] (https://github.com/angular/protractor/blob/master/docs/page-objects.md) zu lesen, um den Code zu behalten sauber :) Wenn Sie eine spezifischere Antwort benötigen, öffnen Sie bitte einen neuen Thread, um das Board sauber zu halten;) – nilsK

+0

'browser.get' statt' browser.driver.get' funktioniert auch –