Я использую Cucumber с Java и пытаюсь передать значение в локальное хранилище. Я также использую WebDriverManager, и когда я пытаюсь выполнить какой-либо скрипт с помощью JavaScripExecutor, открывается другой экземпляр браузера.
Я пытался реализовать JavaScriptExecutor в WebDriverManager, но получил тот же результат, что и раньше.
public class WebDriverManager {
private WebDriver driver;
private static DriverType driverType;
private static EnvironmentType environmentType;
private static final String CHROME_DRIVER_PROPERTY = "webdriver.chrome.driver";
private JavascriptExecutor js;
public WebDriverManager() {
driverType = FileReaderManager.getInstance().getConfigReader().getBrowser();
environmentType = FileReaderManager.getInstance().getConfigReader().getEnvironment();
}
public WebDriver getDriver() throws MalformedURLException {
if(driver == null) driver = createDriver();
return driver;
}
public JavascriptExecutor getJavaScriptExecutor() {
js = (JavascriptExecutor) driver;
return js;
}
private WebDriver createDriver() throws MalformedURLException {
switch (environmentType) {
case LOCAL : driver = createLocalDriver();
break;
case REMOTE : driver = createRemoteDriver();
break;
}
return driver;
}
Я хочу использовать этого исполнителя в уже существующем экземпляре браузера.