Specflow Feature-Dateien mit denselben Schritten, die zum Starten mehrerer Browserinstanzen führen

Ich habe mindestens 3 .feature-Dateien in meinem C # -Specflow-Testprojekt, in denen ich den folgenden Schritt ausführen kann:

Given I am at the Home Page

Als ich den Schritt zum ersten Mal in die Datei schriebFeateure1.feature und die Schrittmethode erstellt, habe ich es in einer Schrittdatei platziert, sagen wir,Steps1.cs, das von einer Basisklasse erbt, die aFirefoxDriver. Alle meineStepsXXXX.cs Klassen erben von dieser Basisklasse.

Dann schrieb ichFeature2.feature, der auch einen schritt hatGiven I am at the Home Page. Und der Schritt war automatisch an den in gebundenSteps1.cs

Bis jetzt kein Problem. Das ist ziemlich genau das, was ich wollte - wiederverwendbare Schritte während des gesamten Testprojekts. Aber das Problem ist, wann immer ich ein Szenario ausführe, das unterschiedliche Schritte aufweistStepsXXXX Dateien bekomme ich verschiedene Browser-Instanzen zum Laufen.

======

Ich bin mir ziemlich sicher, dass das an der Tatsache liegt, dassStepsXXXX (Bindungsklassen) Alle erben von dieser Basisklasse, die über einen eigenen IWebDriver verfügt. Wenn der Schritt aufgerufen wird, wird alles andere (einschließlich der Vorher / Nachher-Szenario-Methoden) aufgerufen. Aber ich kann nicht herausfinden, wie ich das umgehen soll.

Ich möchte immer noch wiederverwendbare Schritte. Ich habe versucht, diese Schritte in die Basisklasse einzufügen, aber es hat nicht funktioniert. Ich habe überlegt, auch die Bindungen zu ändern, aber specflow verwendet dazu sinnvolle Zeichenfolgen, und ich möchte sie nicht in irreführende Zeichenfolgen ändern.

Hat jemand darüber gestolpert? Jede Hilfe wird sehr geschätzt.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage