सेलेनियम - नवीन ब्राउझर विंडोमध्ये कुकीज पुनर्संचयित कसे करावे

समजा आम्हाला खालील परिस्थितीसाठी चाचणी घ्यावी लागेल:

1. लॉगिन पृष्ठ वर जा आणि अनुप्रयोगात लॉगिन करा
2. ब्राउझर बंद करा
3. ब्राउझर उघडा आणि लॉगिन पृष्ठावर जा - वापरकर्त्याने लॉगइन फॉर्म पाहू नये आणि आधीपासून लॉग इन केलेला असावा.

पहिल्या लॉगिनवर, कुकीज ब्राउझरमध्ये संग्रहित केल्या जातात. वेब ड्रायव्हरमध्ये, जेव्हा ब्राउझर विंडो बंद असते, तेव्हा सर्व सत्र डेटा आणि कुकीज हटविल्या जातात, म्हणून वरील परिस्थितीचे परीक्षण करणे अशक्य होते.

सुदैवाने, वेब ड्रायव्हर्स ब्राउझरमधून कुकीज बंद करण्यापूर्वी वाचण्यासाठी आणि नंतर नवीन ब्राउझर विंडोमधील कुकीज पुनर्संचयित करण्यासाठी कार्यक्षमता आहेत.

import org.openqa.selenium.By; import org.openqa.selenium.Cookie; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.Assert; import java.util.Set; public class CookieTest {
WebDriver driver;
@Test
public void login_state_should_be_restored() {
driver = new FirefoxDriver();

driver.get('http://www.example.com/login');
driver.findElement(By.id('username')).sendKeys('admin');
driver.findElement(By.id('password')).sendKeys('12345');
driver.findElement(By.id('login')).click();

Assert.assertTrue(


driver.findElement(By.id('welcome')).isDisplayed());

//Before closing the browser, read the cookies
Set allCookies = driver.manage().getCookies();

driver.close();

//open a new browser window
driver = new FirefoxDriver();

//restore all cookies from previous session
for(Cookie cookie : allCookies) {

driver.manage().addCookie(cookie);
}

driver.get('http://www.example.com/login'); //Login page should not be disaplyed
Assert.assertTrue(


driver.findElement(By.id('welcome')).isDisplayed());

driver.close();
} }
|