我想澄清如何使用Selenoid来检查下载的文件。根据从容器获取下载文件的文档,我需要调用
http://selenoid-host.example.com:4444/download/f2bcd32b-d932-4cdc-a639-687ab8e4f840/myfile.txt
其中f2bcd32b-d932-4cdc-a639-687ab8e4f840是Selenoid会话ID
所以,问题是“我如何获得这个会话ID?”getSessionId从RemoteWebDriver返回的值看起来不正确。
UPD.是我的错。我可以从RemoteWebDriver实例获得的会话ID是正确的。问题是,我没有等待足够的时间将文件准确下载到容器中。这就是为什么我试图通过API获取文件时出现404错误的原因
发布于 2018-12-15 17:41:14
这取决于用于测试的客户端绑定。
例如,在java中:
WebDriver driver = new FirefoxDriver();
SessionId session = ((FirefoxDriver)driver).getSessionId();
System.out.println("Session id: " + session.toString());如果您想在测试之外获取活动会话的ID列表:使用selenoid /status端点
请注意,如果您使用GGR -它修改了会话id -
Selenium中的每个新浏览器会话都会自动获得一个名为session ID的ID。根据Selenium JSONWire协议,这个ID总是被传递给请求。GridRouter将有关所选硒集线器的信息附加到此会话,并向用户返回丰富的会话ID。
https://hackernoon.com/selenium-testing-a-new-hope-7fa87a501ee9
https://stackoverflow.com/questions/53738537
复制相似问题