如何在IE驱动程序中获取会话
我需要跟踪应用程序某些特殊要求的会话ID,并且必须在应用程序UI中的访问日志页面中匹配相同的会话ID。我尝试使用下面的代码,它在firefox驱动程序中正常工作。如何在IE驱动程序中获取会话
String ASPNET_SessionId = driver.manage().getCookieNamed("JSESSIONID").toString();
strSessionID = ASPNET_SessionId.split("=")[1].split(";")[0];
我们在out框架中有一项功能,我们可以在任何浏览器中执行Firefox或IE。但是,当试图在IE中执行我的测试时,在获取会话标识时获取空指针异常。基本上会话是空的。
我试图调用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?任何帮助或建议应该高度赞赏..
我也测试过你的代码喜欢这个;
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位version.So我猜你driver.manage().getCookieNamed("JSESSIONID").toString()
没有problem.So检查文件路径和检查你的IEDriverServer.exe版本。
我也有与Windows 7和64位相同的配置。仔细检查文件路径和IEDriver版本,Path是正确的,IEDriver是2.44最新版本。仍然在执行“driver.manage()。getCookieNamed(”JSESSIONID“)。toString()” – souvik 2014-10-28 10:06:11
如果不是明确地向您的IE配置中引入片状(您使用'INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS'功能完成的),而是[正确配置保护模式](http://jimevansmusic.blogspot.com/2012 /08/youre-doing-it-wrong-protected-mode-and.html)与WebDriver一起使用? – JimEvans 2014-10-28 10:25:21
正确配置了IE保护模式并删除了该功能。但仍然收到空指针异常。无法分析其发生的原因。任何建议请... – souvik 2014-10-28 11:13:28