【问题标题】:How to get browser sessionId using Selenium webdriver如何使用 Selenium webdriver 获取浏览器 sessionId
【发布时间】:2012-05-30 11:37:10
【问题描述】:

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

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

我已经研究和测试了几天,但我很茫然。任何帮助将不胜感激。

谢谢。

【问题讨论】:

  • RemoteWebDriver 类有一个 getSessionId() 方法,但我确信这不是您想要的。我试图做一个纯 WebDriver 项目,也注意到 WebDriver 没有这个方法。我不确定“WebDriver 方法”是什么......
  • 根据您的问题,我不是 100% 清楚您需要什么,但方法 .hashCode() 显示了 Webdriver 的唯一哈希码,它一直在满足我的需求。

标签: php yii webdriver selenium-webdriver


【解决方案1】:

您可以转换为具体类型,例如RemoteWebDriver, which they all inherit from, and also implements getSessionId

((RemoteWebDriver) driver).getSessionId()

【讨论】:

    【解决方案2】:

    我在 Java 中遇到过这个问题,但在仔细检查源代码后,注意到我使用的驱动程序被实例化为 WebDriver 对象。改成RemoteWebDriver对象后,.getSessionId()方法暴露了,driver.getSessionId()按预期返回了session id。

    我不确定这将如何转换为 PHP,但我建议您返回并检查以确保您的驱动程序是 RemoteWebDriver 对象,而不是 WebDriver 对象。

    【讨论】:

      猜你喜欢
      • 2012-09-15
      • 1970-01-01
      • 2016-11-16
      • 2020-04-16
      • 2020-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多