我正在使用selenium webdriver(php-webdriver-bindings Yii扩展),我正在尝试获取浏览器sessionId(测试将使用的那个)。 我以为我可以通过网络驱动程序获得这个,但事实似乎并非如此。 Webdriver 有一个 sessionId,但这不是测试浏览器正在使用的那个。
我正在尝试在测试运行之前登录,以允许我的测试成为经过身份验证的用户,这将允许他们访问我正在测试的页面。
我已经研究和测试了几天了,我不知所措。 任何帮助将不胜感激。
谢谢。
你可以强制转换为具体类型,例如 RemoteWebDriver,它们都继承自该类型,并且还实现了 getSessionId:
((RemoteWebDriver) driver).getSessionId()
我在 Java 中遇到了这个问题,但在仔细检查源代码时,注意到我使用的驱动程序被实例化为WebDriver
对象。将其更改为RemoteWebDriver
对象后,.getSessionId()
方法公开,driver.getSessionId()
按预期返回会话 ID。
我不确定这将如何转换为 PHP,但我建议返回并检查以确保您的驱动程序是RemoteWebDriver
对象,而不是WebDriver
对象。