Skip to content

Commit

Permalink
fix: Fixed an issue where the screenplay module was not closing the l…
Browse files Browse the repository at this point in the history
…ast browser if several browsers were being used in a test
  • Loading branch information
wakaleo committed Jun 2, 2016
1 parent 6d73559 commit e9f8131
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 14 deletions.
Expand Up @@ -10,9 +10,9 @@
import net.serenitybdd.screenplay.events.ActorEndsPerformanceEvent;
import net.serenitybdd.screenplay.events.ActorPerforms;
import net.serenitybdd.screenplay.exceptions.ActorCannotBrowseTheWebException;
import net.thucydides.core.guice.Injectors;
import net.thucydides.core.pages.Pages;
import net.thucydides.core.steps.PageObjectDependencyInjector;
import net.thucydides.core.webdriver.ThucydidesWebDriverSupport;
import net.thucydides.core.webdriver.WebdriverManager;
import org.openqa.selenium.WebDriver;
import org.slf4j.Logger;
Expand All @@ -32,7 +32,7 @@ public class BrowseTheWeb extends PageObject implements Ability {

protected BrowseTheWeb(WebDriver browser) {
super(browser);
this.webdriverManager = Injectors.getInjector().getInstance(WebdriverManager.class);
this.webdriverManager = ThucydidesWebDriverSupport.getWebdriverManager();// Injectors.getInjector().getInstance(WebdriverManager.class);
registerForEventNotification();
}

Expand Down
Expand Up @@ -27,10 +27,10 @@
@RunWith(SerenityRunner.class)
public class WhenDanaBrowsesTheWeb {

@Managed(driver = "htmlunit")
@Managed(driver = "firefox")
WebDriver firstBrowser;

@Managed(driver = "htmlunit")
@Managed(driver = "firefox")
WebDriver anotherBrowser;

ProfileQuestion profile = new ProfileQuestion();
Expand Down
@@ -1,8 +1,6 @@
package net.thucydides.core.webdriver;

import com.google.common.collect.Lists;
import net.thucydides.core.guice.Injectors;
import net.thucydides.core.util.EnvironmentVariables;
import org.apache.commons.lang3.StringUtils;
import org.openqa.selenium.WebDriver;

Expand Down Expand Up @@ -96,7 +94,7 @@ public WebDriver useDriver(final String driverName) {

public Set<WebDriver> closeAllDrivers() {
Collection<WebDriver> openDrivers = driverMap.values();
Set<WebDriver> closedDrivers = new HashSet<WebDriver>(openDrivers);
Set<WebDriver> closedDrivers = new HashSet<>(openDrivers);
for (WebDriver driver : openDrivers) {
closeAndQuit(driver);
}
Expand Down Expand Up @@ -193,24 +191,28 @@ public List<String> getActiveDriverTypes() {
return activeDrivers;
}

protected void registerDriver(String driverName, WebDriver driver) {
if (!driverMap.containsKey(normalized(driverName))) {
driverMap.put(normalized(driverName), driver);
}
}

public InstanceRegistration registerDriverCalled(final String driverName) {
return new InstanceRegistration(normalized(driverName));
}

public final class InstanceRegistration {
private final String driverName;

public InstanceRegistration(final String driverName) {
this.driverName = normalized(driverName);
}


public void forDriver(final WebDriver driver) {
driverMap.put(normalized(driverName), driver);
// currentDriver = normalized(driverName);
registerDriver(driverName, driver);
}
}

public InstanceRegistration registerDriverCalled(final String driverName) {
return new InstanceRegistration(normalized(driverName));
}

private String normalized(String name) {
if (StringUtils.isEmpty(name)) {
return WebDriverFactory.DEFAULT_DRIVER;
Expand Down

0 comments on commit e9f8131

Please sign in to comment.