Как получить идентификатор сеанса Selenoid
Я хотел бы уточнить, как я могу использовать Selenoid API для проверки загруженных файлов. Согласно документации, чтобы получить загруженный файл из контейнера, мне нужно позвонить
http://selenoid-host.example.com:4444/download/f2bcd32b-d932-4cdc-a639-687ab8e4f840/myfile.txt
где f2bcd32b-d932-4cdc-a639-687ab8e4f840 - идентификатор сеанса селеноида
Итак, вопрос "Как я могу получить этот идентификатор сессии?" Значение, возвращаемое getSessionId из RemoteWebDriver, не выглядит правильным.
UPD. Виноват. Идентификатор сеанса, который я могу получить из экземпляра RemoteWebDriver, является правильным. Проблема была в том, что я не дождался, чтобы файл был точно загружен в контейнер. Вот почему я получил ошибку 404 при попытке получить файл через API
1 ответ
Это зависит от ваших клиентских привязок, которые вы используете для тестов.
Например в Java:
WebDriver driver = new FirefoxDriver();
SessionId session = ((FirefoxDriver)driver).getSessionId();
System.out.println("Session id: " + session.toString());
Если вы хотите получить список активных сеансов с их идентификаторами вне тестов: используйте конечную точку selenoid / status
Обратите внимание, если вы используете GGR - он изменяет идентификатор сессии -
каждый новый сеанс браузера в Selenium автоматически получает идентификатор, называемый идентификатором сеанса. Согласно протоколу Selenium JSONWire этот идентификатор всегда передается по запросу. GridRouter добавляет информацию о выбранном Selenium Hub к этому сеансу и возвращает обогащенный идентификатор сеанса пользователю.
https://hackernoon.com/selenium-testing-a-new-hope-7fa87a501ee9