O WebDriver compartilhado torna-se nulo no segundo cenário usando o PicoContainer
Eu usei a solução aceitaaqui e veio com o seguinte código:
Bibliotecas referenciadas:
Característica:
Feature: FeatureA
Scenario: ScenarioA
Given
When
Then
Scenario: ScenarioB
Given
When
Then
BaseStep:
public class BaseStep {
protected WebDriver driver = null;
private static boolean isInitialized = false;
@Before
public void setUp() throws Exception {
if (!isInitialized) {
driver = SeleniumUtil.getWebDriver(ConfigUtil.readKey("browser"));
isInitialized = true;
}
}
@After
public void tearDown() {
driver.quit();
}
}
Etapa A:
public class StepA {
private BaseStep baseStep = null;
private WebDriver driver = null;
// PicoContainer injects BaseStep class
public StepA(BaseStep baseStep) {
this.baseStep = baseStep;
}
@Given("^I am at the Login page$")
public void givenIAmAtTheLoginPage() throws Exception {
driver = baseStep.driver;
driver.get(ConfigUtil.readKey("base_url"));
}
@When
@When
@Then
@Then
}
No entanto, o motorista "morre" apóstearDown()
do cenário A e se torna nulo na etapa fornecida do cenárioB (os dois cenários usam o mesmo dado). Eu não estou usando o Maven.