Aktiviere CSS Selector (First-Child) in Behat 3 mit Sahi Driver

9

Ich habe mich nur gefragt, ob Sie darauf hinweisen könnten, wo das Problem liegt, ob es Behath, der CSS-Selektor oder der Sahi-Treiber ist.

Wir haben gerade ein Upgrade auf Behat 3 durchgeführt und verwenden Sahi Driver (neueste Open-Source-Version). Wir haben herausgefunden, dass jeder Behat-Test, der das Pseudo-Element first-child verwendet, nun zu brechen scheint.

Beispiel:

Schritt:

%Vor%

(enthält ein Ankerelement mit dem Klassenzeilentitel, siehe HTML)

Fehler:

  

Link mit ID | title | alt | text "# die -liste tr: first-kind .row-title" nicht gefunden. (Behat \ Mink \ Exception \ ElementNotFoundException)

HTML:

%Vor%

CSSSelector.php (überschreiben wir mit unserem alten Behat, wir haben diese Datei in)

%Vor%

Wenn Sie den CSS-Selektor in der Chrome-Konsole mit jQuery verwenden, wird das entsprechende Element ausgewählt. Ich ging durch den Code und schaute auf das css - & gt; xpath translations und validierte dann den xpath gegen den html, der auf der Website, die wir testen, erstellt wurde und scheint auch gültig zu sein. Der CSS-Selektor funktioniert auch mit Goutte-Treiber.

Generierter XPath:

%Vor%

Wenn ich das CSS zu:

ändere

Schritt:

%Vor%

Es funktioniert, weil ich glaube, dass es nur den ersten tr aus einer Liste von ihnen auf jeden Fall auswählt, aber wir wollen in der Lage sein, natürlich das erste Kind zu benutzen.

Danke für Ihre Hilfe!

    
sugarwaffle 26.11.2014, 16:16
quelle

1 Antwort

0

Tut mir leid, dass ich zu spät zur Party gekommen bin

Ihr Problem hier ist die Tatsache, dass Minks eigener Schritt "Ich folge" / "ClickLink" Folgendes nicht akzeptiert:

  1. "#" s für IDs
  2. Alles andere als eine ID, einen Text, einen Titel oder einen alternativen Wert.

Ich schlage vor, anstelle eines "follow" einen "Klick auf den" Schritt zu verwenden, etwa so:

%Vor%

Sie benutzen CSS genau hier, damit dies geschrieben werden kann:

Then I click on the "#the-list tr:first-child .row-title" link

Es ist ein Fehler, den ich auch gemacht habe, und das ist die Lösung, die wir damals beschlossen haben, und wir mussten nicht zurückblicken.

    
Kyle Fairns 08.03.2016 10:50
quelle

Tags und Links