2017-04-26 8 views
0

Ich benutze Behat mit Mink in PHP. Ich schreibe eine Klasse, um Json-Protokolle für jeden Testlauf zu erstellen, einschließlich fehlgeschlagener/bestandener Schritte und so weiter.Behat Gherkin: Wie bekomme ich Titel von Szenario Gliederung

Jetzt verwenden wir Scenario Outlines sehr, da wir die Tests auf mehreren Websites ausführen und die URLs in den Beispielabschnitt einfügen.

Allerdings kann ich nicht den Titel des Scenario Node, um es in Json zu setzen. Ich verwende

$event->getScenario()->getTitle(); 

, aber das gibt nicht den Szenario-Titel zurück, sondern das Beispiel, das gerade ausgeführt wird. Also, wenn ich diese

Scenario Outline: Scenario 1 
Given I am on "<domain>" 
Then I should see "test" 

Examples: 
|domain| 
|www.webpage.com| 

, was ich in meinem Bericht schließlich wollen, ist der Name des Szenarios Gliederung ‚Szenario 1‘. Aber was wirklich zurückgegeben wird, ist '| www.webpage.com |'.

Gibt es eine Möglichkeit, den Namen einer Szenario-Gliederung zu erhalten? Es funktioniert gut bei "normalen" Szenarien.

Antwort

1

Probieren Sie etwas wie:

$event->getScenario()->getOutlineTitle(); 

Diese den Trick tun sollten.

+0

leider nein, es gibt eine OutlineNode-Klasse, aber es hat keinen Titel oder irgendetwas. –

+0

Die Antwort wurde aktualisiert. Wenn dies auch nicht funktioniert, überprüfen Sie bitte diese PR, um zu sehen, ob Sie es in Ihrem Code haben https://github.com/Behat/Gherkin/pull/118/commits/5f1038abdf8e190db717b98ce8a4a49adc1c882f – lauda

+0

Nizza! Ich habe das zu unserem Code hinzugefügt und es funktioniert jetzt. Vielen Dank –

Verwandte Themen