Ich schreibe e2e Tests für meine nicht-eckige App, mit Winkelmesser Version 3.3.0. Meine App lädt eine andere nicht-angulare App in einen iframe, und ich versuche, Tests mit dem ifraMed-in mit Protractor zu schreiben.Winkelmesser: Nicht-Angular App in einem Iframe testen
habe ich versucht, das oben unter Verwendung von browser.driver.ignoreSynchronization = true:
1.
var EC = protractor.ExpectedConditions;
var button = $("div[automation-id='homescreen']")
var isClickable = EC.elementToBeClickable(button);
browser.wait(isClickable, 50000).then(function(){
browser.driver.sleep(500);
button.click();
})
den Fehler „Received Fehlgeschlagen: unbekannter Fehler: Element am Punkt nicht angeklickt ist (326, 624) ... "
2.
var loc = by.id('myFrame');
el = browser.driver.findElement(loc)
browser.driver.switchTo().frame(el);
den Fehler empfangen" Fehler: nein ein solches Element: Nicht imstande Element zu finden: { "Methode": "CSS-Selektor", "Selektor": "* [id =" MyFrame "]"}“
selbst dachte el erfolgreich abgerufen wurde ..
3.
browser.driver.switchTo().frame(0);
versucht, mit dem Index 1 und erhielt "fehlgeschlagen: keine solche Rahmen .." Fehler
4.
browser.driver.getAllWindowHandles()
Nur ein Fenster empfangen ...
Leider ist dies nicht der einzige iFrame, wenn ich die URL mit browser.driver.getCurrentUrl() überprüfe, bekomme ich dieselbe URL wie zu Beginn der App. – lital
@lital 'getCurrentUrl()' würde immer noch dieselbe URL geben - dies wird erwartet, da Sie auf der gleichen Seite bleiben. Wenn Sie mit dem von mir vorgeschlagenen Code keine Fehler bekommen, sind Sie tatsächlich in einen Iframe-Kontext gewechselt. – alecxe
Scheint so, als ob es nicht funktioniert, weil ich nicht auf einen Knopf klicken kann, der im iFrame erscheint.Wie sollte ich iframe wechseln, wenn mehr als ein iframe vorhanden ist? – lital