Specyficzne pliki funkcji z tymi samymi krokami powodującymi uruchomienie wielu instancji przeglądarki

Mam co najmniej 3 pliki .feature w moim projekcie testowym C # Specflow, w którym mam krok, na przykład:

Given I am at the Home Page

Kiedy po raz pierwszy napisałem krok w plikuFeateure1.feature i stworzyłem metodę krokową, umieściłem ją w pliku kroku, powiedzmy,Steps1.cs, który dziedziczy z klasy bazowej, która inicjuje aFirefoxDriver. Wszystkie mojeStepsXXXX.cs klasy dziedziczą z tej klasy bazowej.

Potem napisałemFeature2.feature, który również ma krokGiven I am at the Home Page. I krok był automatycznie związany z tym wSteps1.cs

„Do tej pory nie ma problemu. To jest dokładnie to, czego chciałem - mieć kroki wielokrotnego użytku w całym projekcie testowym. Ale problem polega na tym, że ilekroć uruchamiam scenariusz, który ma różne krokiStepsXXXX pliki, uruchamiam różne instancje przeglądarki.

======

Jestem prawie pewien, że wynika to z faktu, że MyStepsXXXX (klasy wiążące) wszystkie dziedziczą z tej klasy bazowej, która ma swój własny IWebDriver, a kiedy wywoływany jest krok, wywoływane jest wszystko inne (w tym metody przed / po scenariuszu). Ale nie wiem, jak to obejść.

Nadal chcę kroków wielokrotnego użytku. Próbowałem umieścić te kroki w klasie bazowej, ale to nie zadziałało. Pomyślałem też o zmianie powiązań, ale specflow używa do tego znaczących łańcuchów i nie chcę ich zmieniać na mylące łańcuchy.

Czy ktoś natknął się na to? Każda pomoc jest na prawdę doceniana.

questionAnswers(4)

yourAnswerToTheQuestion