我正在使用selenium webdriver(php-webdriver-bindings Yii扩展),我正在尝试获取浏览器sessionId(测试将使用的那个)。我以为我可以通过webdriver获得这个,但似乎并非如此。 Webdriver有一个sessionId,但这不是测试浏览器使用的那个。
我正在尝试在测试运行之前登录,以允许我的测试成为经过身份验证的用户,这将允许他们访问我正在测试的页面。
我现在一直在研究和测试这几天,我很茫然。任何帮助将不胜感激。
感谢。
答案 0 :(得分:5)
您可以投射到具体类型,例如RemoteWebDriver, which they all inherit from, and also implements getSessionId:
((RemoteWebDriver) driver).getSessionId()
答案 1 :(得分:0)
我在Java中遇到过这个问题,但仔细研究一下源代码后,注意到我使用的驱动程序被实例化为WebDriver
对象。将其更改为RemoteWebDriver
对象后,公开了.getSessionId()
方法,driver.getSessionId()
按预期返回了会话ID。
我不确定这会如何转化为PHP,但我建议您返回并检查以确保您的驱动程序是RemoteWebDriver
对象,而不是WebDriver
对象