我正在使用Java和Selenium,并尝试在登录后获取正在测试的应用程序的会话ID。我找到了这段代码,但它为我提供了驱动程序的会话ID。这对我没有用。我想要我正在运行的应用程序的会话。

SessionId sessionId = ((FirefoxDriver) driver).getSessionId();

最佳答案

尝试这种方式:

WebDriver seleniumDriver = new FirefoxDriver();
 try {
 String domainString = "http://yourURL";
 String baseUrl = domainString;
 seleniumDriver.manage().timeouts().implicitlyWait(45, TimeUnit.SECONDS);
 seleniumDriver.get(baseUrl + "/Login.aspx/");
 seleniumDriver.findElement(By.id("username")).clear();
 seleniumDriver.findElement(By.id("username")).sendKeys("username");
 seleniumDriver.findElement(By.id("password")).clear();
 seleniumDriver.findElement(By.id("password")).sendKeys("password");
 seleniumDriver.findElement(By.cssSelector("input.primary.btn")).click();
 String ASPNET_SessionId = seleniumDriver.manage().getCookieNamed("ASP.NET_SessionId").toString();
 System.out.println(ASPNET_SessionId);
 }
 finally {
 seleniumDriver.close();
 }

10-07 23:54