Файлы функций Specflow с одинаковыми шагами, вызывающими запуск нескольких экземпляров браузера
У меня есть как минимум 3 файла .feature в моем проекте тестов C # Specflow, в котором у меня есть шаг, например:
Given I am at the Home Page
Когда я впервые написал шаг в файлеFeateure1.feature
и создал метод шага, я поместил его в файл шага, пустьскажи,Steps1.cs
, который наследует от базового класса, который инициализируетFirefoxDriver
, Все моеStepsXXXX.cs
классы наследуются от этого базового класса.
Затем я написалFeature2.feature
, который также имеет шагGiven I am at the Home Page
, И шаг был автоматически привязан к шагу вSteps1.cs
До сих пор нет проблем. Тот'Это в значительной степени то, что я хотел - иметь многократные шаги на протяжении всего тестового проекта. Но проблема в том, что когда бы яЯ запускаю сценарий, который имеет шаги в разныхStepsXXXX
файлы, я запускаю различные экземпляры браузера.
====== Я
Я уверен, что это связано с тем, что мойStepsXXXX
(связывающие классы) все наследуются от этого базового класса, который имеет собственный IWebDriver, и когда вызывается шаг, вызывается все остальное (включая методы сценария до / после). Но я могу'не могу понять, как обойти это.
Я все еще хочу многоразовые шаги. Я попытался поместить эти шаги в базовый класс, но это не сработало. Я тоже думал об изменении привязок, но specflow использует для этого значащие строки, и я неЯ не хочу менять их на вводящие в заблуждение строки.
Кто-нибудь сталкивался с этим? Любая помощь очень ценится.