Заранее спасибо.

способ присоединить существующий сеанс браузера веб-драйвера к экземпляру драйвера, чтобы я мог снова управлять браузером.

До сих пор я пробовал следующее:
Я. ==========================================

Ссылка:https://stackoverflow.com/a/38827934/2285470

Браузер: Firefox v. 51.01 / Chrome v. 56.0.2924.87

Водитель: geckodriver v. 0.14 / chromedriver v. 2.27

Решение пробовал:
1. Создайте собственный класс, который расширяет RemoteWebDriver

public class RemoteDriver extends RemoteWebDriver {
    public RemoteDriver(URL url, String sessionId) {
        super();
        setSessionId(sessionId);
        setCommandExecutor(new HttpCommandExecutor(url) {
            @Override
            public Response execute(Command command) throws IOException {
                if (command.getName() != "newSession") {
                    return super.execute(command);
                }
                return super.execute(new Command(getSessionId(), "getCapabilities"));
            }
        });
        startSession(new DesiredCapabilities());
    }
}
Запустите новый экземпляр FirefoxПолучить идентификатор сессии и сохранить его где-нибудь (файл свойств)Остановите тест, оставьте браузер открытым

Вызвать пользовательский класс, который расширяет RemoteWebDriver, используя следующее:

RemoteDriver cdriver = new RemoteDriver(new URL("http://localhost:7055/hub"),"my-session-id");

Результат: org.openqa.selenium.WebDriverException: No command or response codec has been defined. Unable to proceed на линииreturn super.execute(new Command(getSessionId(), "getCapabilities"));

II. ==========================================
Ссылка: https://groups.google.com/forum/#!topic/selenium-developers/1LygDvlQ3H4

Браузер: Firefox v. 51.01 / Chrome v. 56.0.2924.87

Водитель: geckodriver v. 0.14 / chromedriver v. 2.27

Решение пробовал:
1. Создайте собственный класс, который расширяет RemoteWebDriver

public class RemoteDriver extends RemoteWebDriver {
    @Override
    protected void startSession(Capabilities desiredCapabilities) {
        String sid = getSessionIdFromPropertyFile();
        if (sid != null) {
            setSessionId(sid);
            try {
                super.startSession(desiredCapabilities);
            } catch (WebDriverException e) {
                // session is not valid
                sid = null;
            }
        }
        if (sid == null) {
            super.startSession(desiredCapabilities);
            saveSessionIdToPropertyFile(getSessionId().toString());
        }
    }
}
Запустите новый экземпляр FirefoxПолучить идентификатор сессии и сохранить его где-нибудь (файл свойств)Остановите тест, оставьте браузер открытым

Вызвать пользовательский класс, который расширяет RemoteWebDriver, используя следующее:

RemoteDriver cdriver = new RemoteDriver(); cdriver.startSession(DesiredCapabilities.firefox()); cdriver.get("https://www.google.com");

Результат: org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.

Кажется, другие могут заставить его работать, но после нескольких часов попыток я все еще не могу это сделать.

Я использую Селен-Java версии 3.1.0

Заранее спасибо.

Ответы на вопрос(0)

Ваш ответ на вопрос