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