Как получить идентификатор сеанса 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

Другие вопросы по тегам