Archivos de características de flujo de especificaciones con los mismos pasos que hacen que se inicien varias instancias de navegador

Tengo al menos 3 archivos .feature en mi proyecto de pruebas de flujo de especificaciones de C # en los que tengo el paso, por ejemplo:

Given I am at the Home Page

Cuando escribí por primera vez el paso en el archivoFeateure1.feature y creé el método de pasos, lo coloqué en un archivo de pasos, digamos,Steps1.cs, que hereda de una clase base que inicializa unFirefoxDriver. Toda miStepsXXXX.cs Las clases heredan de esta clase base.

Entonces escribíFeature2.feature, que también tiene un pasoGiven I am at the Home Page. Y el paso estaba ligado automáticamente al de inSteps1.cs

'Hasta ahora, no hay problema. Eso es más o menos lo que quería: tener pasos reutilizables a lo largo del proyecto de prueba. Pero el problema es que cada vez que estoy ejecutando un escenario que tiene diferentes pasosStepsXXXX archivos, tengo varias instancias del navegador en ejecución.

======

Estoy bastante seguro de que esto se debe al hecho de que MyStepsXXXX (clases vinculantes) todos heredan de esta clase base que tiene un IWebDriver propio, y cuando se llama al paso, se llama a todo lo demás (incluidos los métodos de escenario antes / después). Pero no puedo averiguar cómo solucionar esto.

Todavía quiero pasos reutilizables. Intenté colocar estos pasos en la clase base, pero no funcionó. También pensé en cambiar los enlaces, pero el flujo de especificaciones usa cadenas significativas para hacerlo, y no quiero cambiarlos a cadenas engañosas.

¿Alguien ha tropezado con esto? Cualquier ayuda es muy apreciada.

Respuestas a la pregunta(4)

Su respuesta a la pregunta