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