1

我想澄清如何使用 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 错误

4

1 回答 1

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

于 2018-12-15T17:41:14.730 回答