Каким образом sessionID в веб-драйвере Selenium получает разные значения для каждого экземпляра браузера при параллельном выполнении - PullRequest
0 голосов
/ 14 июня 2019

Я понимаю, что Selenium Webdriver - это интерфейс, и весь класс браузера реализует этот интерфейс, я также понимаю, что переменные интерфейса по умолчанию являются статическими и конечными. Когда я читал о параллельном выполнении с использованием TestNG, я читал, что команды селена передаются в правильный браузер с использованием идентификатора сеанса, и каждый из экземпляров имеет разные идентификаторы сеанса. Я запутался, как можно присвоить различные значения статическим переменным идентификатора окончательного сеанса Webdriver Interface ??

1 Ответ

0 голосов
/ 17 июня 2019

Интерфейс WebDriver не содержит информации о сеансе, равно как и SearchContext, который расширяет WebDriver.

RemoteWebDriver управляет большей частью бизнеса, он реализует WebDriver. Например, ChromeDriver расширяет RemoteWebDriver.

это позволяет следующее:

Драйвер WebDriver = новый ChromeDriver ();

RemoteWebDriver имеет идентификатор сессии вы не можете добраться до sessionId, потому что он закрыт в RemoteWebDriver.

Вы хотите найти HttpCommandExecutor, RemoteWebStorage и WebStorage, RemoteSessionStorage и SessionStorage.

Лучший способ - использовать вашу IDE. В Eclipse вы должны щелкнуть правой кнопкой мыши по классу и затем «открыть объявление»

Таким образом, вы можете создать несколько экземпляров RemoteWebDriver, каждый из которых имеет свой собственный идентификатор сессии. Когда вы решили использовать интерфейс WebDriver, вы теряете доступ к методам, не описанным интерфейсом.

Кстати: если вы пытались использовать JavascriptExecutor, вы знаете, что вам нужно навести на него свой WebDiver. Это связано с тем, что RemoteWebDriver также реализует этот интерфейс, но вы не можете получить доступ к его методам с помощью интерфейса WebDriver.

надеюсь, это поможет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...