Mein Problem gefunden:kann nicht gefunden Element Rekursion verwenden, nachdem er es als sichtbar
Ich versuche Optionen in einem Drop-Down mit Nachtschwärmer zu klicken, indem Abschnitte in Seitenobjekten. Ich bin mir nicht sicher, ob es ein Problem mit der Abschnittsdeklaration ist oder mir etwas fehlt, das mit dem Umfang zusammenhängt. Problem ist, dass es das Element als sichtbar findet, aber wenn es versucht zu klicken, wird es einen Fehler werfen, dass es es nicht finden kann, Rekursion verwendend.
Was könnte ich versuchen, um dieses Problem mit Abschnitten zu beheben?
Im Test:
var myPage = browser.page.searchPageObject();
var mySection = searchPage.section.setResults;
// [finding and clicking the dropdown so it opens and displays the options]
browser.pause (3000);
browser.expect.section('@setResults').to.be.visible.before(1000);
myPage.myFunction(mySection, '18');
auf der Seite Objekt:
var searchKeywordCommands = {
myFunction: function (section, x) {
section.expect.element('@set18').to.be.visible.before(2000);
if (x == '18') section.click('@set18');
//[...]
};
module.exports = {
//[.. other elements and commands..]
sections: {
setResults: {
selector: '.select-theme-result', //have also tried with '.select-content' and '.select-options' but with the same result
elements: {
set18: '.select-option[data-value="18"]',
set36: '.select-option[data-value="36"]' //etc
}}}}
Wenn ich laufe dieses Stück Kern , scheint es den Abschnitt zu finden, findet das Element sichtbar (ich auch kann deutlich sehen, dass es die Drop-down und zeigt die Optionen öffnet), aber wenn jede Option zu klicken versuchen, erhalte ich die Fehlermeldung: ERROR: Unable to locate element: Section[name=setResults], Element[[email protected]]" using: recursion
Hier ist der vollständige Fehler:
Meine Versuche:
Ich habe versucht, das set18
Selektor als ein einzelnes Element anstelle von innerhalb des Abschnitts zu deklarieren, und alles funktioniert gut auf diese Weise, aber wird nicht innerhalb des Abschnitts arbeiten. Ich habe auch alle verfügbaren Selektoren ausprobiert, um den Selektor des Abschnitts zu definieren, aber es wird mit keinem von ihnen funktionieren.
vor allem, wie kann ich auf diese getValueElement Funktion zugreifen? Es wird der Fehler ausgegeben, dass es keine Funktion sowohl für mySection.getValueElement (18) als auch für myPage.getValueElement (18) ist. – anasarbescu
ok, ich denke, ich habe es geschafft, es muss eine separate Funktion im Befehl sein, nicht der Befehl muss eine Funktion sein. aber jetzt bekomme ich: FEHLER: Kann Element nicht finden: "li [Daten-Wert = 18]" mit: CSS-Selektor – anasarbescu
Können Sie Ihren Browser öffnen - F12 - in Element Registerkarte, finden Sie die kürzeste Zeichenfolge für "li [Daten-Wert = 18] "CSS Selektor? –