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.