Я новичок в селене. Я пытаюсь проверить приложение. Приложение имеет две страницы login.jsp, limited.jsp. Вы можете получить доступ к ограничению.jsp, только после входа в систему (попытка доступа к ограничению.jsp без входа будет перенаправлена на страницу login.jsp). Мое применение селена как показано ниже.Selenium: функция печенья не работает
a. Вход в приложение сперва
b. После успешного входа в систему сохраните все файлы cookie в файле session.properties.
c. В следующий раз я загружаю все файлы cookie из «session.properties» в драйвер и пытаюсь получить доступ к странице «limited.jsp». Но я перенаправляю на login.jsp, а не на limited.jsp.
Ниже приведен код Java.
public class App {
private static void loginApp(WebDriver driver) {
driver.get("http://localhost:8080/selenium_app/login");
WebElement userName = driver.findElement(By.name("userName"));
WebElement password = driver.findElement(By.name("password"));
userName.sendKeys("admin");
password.sendKeys("admin");
userName.submit();
}
private static void storeSessionProps(WebDriver driver) throws IOException {
File f = new File("session.properties");
f.delete();
f.createNewFile();
FileWriter fos = new FileWriter(f);
BufferedWriter bos = new BufferedWriter(fos);
/* Get all the cookies and store them to session.properties file */
Set<Cookie> cookies = driver.manage().getCookies();
for (Cookie cookie : cookies) {
bos.write(cookie.getName() + "=" + cookie.getValue());
bos.newLine();
}
bos.flush();
bos.close();
fos.close();
}
private static void loadPropertiesToDriver(WebDriver driver)
throws IOException {
Properties properties = new Properties();
FileInputStream fin = new FileInputStream("session.properties");
properties.load(fin);
Set<Object> props = properties.keySet();
for (Object prop : props) {
Cookie ck = new Cookie((String) prop,
properties.getProperty((String) prop));
driver.manage().addCookie(ck);
System.out.println(ck);
}
}
public static void main(String[] args) throws InterruptedException,
IOException {
WebDriver driver = new FirefoxDriver();
// loginApp(driver);
// storeSessionProps(driver);
loadPropertiesToDriver(driver);
driver.get("http://localhost:8080/selenium_app/restricted");
Thread.sleep(5000);
driver.quit();
}
}
Когда я раскомментировать строки loginApp (драйвер) ;, storeSessionProps (драйвер); все в порядке, я могу получить доступ к странице limited.jsp, но когда я запустил приложение, комментируя их и загружая куки-файлы, я перенаправляюсь на страницу login.jsp. Любая помощь по этому поводу?
Спасибо за ответ, это решить мою проблему. –