如何使用Selenium webdriver获取浏览器sessionId

时间:2012-05-23 21:27:59

标签: php yii webdriver selenium-webdriver

我正在使用selenium webdriver(php-webdriver-bindings Yii扩展),我正在尝试获取浏览器sessionId(测试将使用的那个)。我以为我可以通过webdriver获得这个,但似乎并非如此。 Webdriver有一个sessionId,但这不是测试浏览器使用的那个。

我正在尝试在测试运行之前登录,以允许我的测试成为经过身份验证的用户,这将允许他们访问我正在测试的页面。

我现在一直在研究和测试这几天,我很茫然。任何帮助将不胜感激。

感谢。

2 个答案:

答案 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对象