如何获取Selenoid会话ID

时间:2018-12-12 08:03:57

标签: selenoid

我想澄清一下如何使用Selenoid API检查下载的文件。 根据文档从容器中获取下载文件,我需要调用

  

http://selenoid-host.example.com:4444/download/f2bcd32b-d932-4cdc-a639-687ab8e4f840/myfile.txt

其中 f2bcd32b-d932-4cdc-a639-687ab8e4f840 是一个Selenoid会话ID

因此,问题是“如何获取此会话ID?” 由RemoteWebDriver的getSessionId返回的值看起来不正确。

UPD。我的错。我可以从RemoteWebDriver实例获取的会话ID是正确的。 问题是我没有等足够的时间将文件准确下载到容器中。这就是为什么我尝试通过API获取文件时出现404错误

1 个答案:

答案 0 :(得分:0)

那取决于您用于测试的客户端绑定。

例如在Java中:

WebDriver driver = new FirefoxDriver();

SessionId session = ((FirefoxDriver)driver).getSessionId();
System.out.println("Session id: " + session.toString());

如果要获取活动ID不在测试中的活动会话的列表,请使用selenoid / status端点

请注意,如果您使用GGR-它会修改会话ID-

  

Selenium中的每个新浏览器会话都会自动获取一个ID   称为会话ID。根据Selenium JSONWire协议,此ID为   始终传递给请求。 GridRouter附加有关的信息   选择此会话的Selenium Hub并返回丰富的会话ID   给用户。

https://hackernoon.com/selenium-testing-a-new-hope-7fa87a501ee9