【问题标题】:How to get session in IE Driver如何在 IE 驱动程序中获取会话
【发布时间】:2018-11-12 21:01:11
【问题描述】:

我需要跟踪应用程序的某些特殊要求的会话 ID,并且必须在应用程序 UI 的访问日志页面中匹配相同的会话 ID。我尝试使用以下代码,它在 firefox 驱动程序中正常工作。

String ASPNET_SessionId = driver.manage().getCookieNamed("JSESSIONID").toString();

strSessionID = ASPNET_SessionId.split("=")[1].split(";")[0];

我们在 out 框架中有一个功能,我们可以在任何浏览器中执行,无论是 Firefox 还是 IE。但是当试图在 IE 中执行我的测试时,它在获取会话 ID 时出现空指针异常。基本上会话是空的。

我尝试按如下方式调用 IE:

strIEDriverPath = currentDir+(FileHandlerClass.readPropertiesXml(strPropertiesFilePath, "IEDriverPath"));

System.setProperty("webdriver.ie.driver", strIEDriverPath);

DesiredCapabilities capab = DesiredCapabilities.internetExplorer();

capab.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);

driver = new InternetExplorerDriver(capab);

但还是没有帮助....

谁能建议我如何从 IE 驱动程序获取会话 ID?任何帮助或建议都将受到高度赞赏..

【问题讨论】:

  • 如果不是在 IE 配置中显式引入易碎性(您已经通过使用 INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS 功能完成),而是 correctly configure Protected Mode 与 WebDriver 一起使用,会发生什么?
  • 正确配置了 IE 保护模式并删除了该功能。但仍然得到空指针异常。无法分析为什么会发生。有什么建议请...

标签: java internet-explorer selenium selenium-webdriver jsessionid


【解决方案1】:

我也像这样测试过你的代码;

File file = new File("C:\\IEDriverServer\\IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
driver = new InternetExplorerDriver();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
//Do something test.
System.out.println(driver.manage().getCookieNamed("JSESSIONID").toString());

我的输出是

JSESSIONID=JPlxPwhMkyYdpmQvJt73mSjd5p9fnn1VHfq1yvbdvZ9gnG1380rf!-1092181086; path=/

我的操作系统是Windows7 64位,IEDriverServer.exe也是64位版本。所以我猜你的driver.manage().getCookieNamed("JSESSIONID").toString()没有问题。所以检查你的文件路径并检查你的IEDriverServer。 exe 版本。

【讨论】:

  • 我也有与Windows 7和64位相同的配置。仔细检查文件路径和 IEDriver 版本,路径正确且 IEDriver 是 2.44 最新版本。在执行 "driver.manage().getCookieNamed("JSESSIONID").toString()" 行时仍然出现空指针异常
【解决方案2】:
SessionId sessionId = null;
sessionId = ((InternetExplorerDriver) wDriver).getSessionId();

【讨论】:

    猜你喜欢
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 2015-08-03
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多