سیلینیم - نئے براؤزر ونڈو میں کوکیز کو بحال کرنے کا طریقہ

فرض کریں کہ ہمیں مندرجہ ذیل منظر نامے کی جانچ کرنا ہوگی۔

1. لاگ ان صفحے پر جائیں اور درخواست میں لاگ ان ہوں
2. براؤزر بند کریں
the. براؤزر کھولیں اور لاگ ان صفحے پر جائیں - صارف کو لاگ ان فارم نہیں دیکھنا چاہئے اور پہلے ہی لاگ ان ہونا چاہئے۔

پہلے لاگ ان پر ، کوکیز براؤزر میں محفوظ کی جاتی ہیں۔ ویب ڈرائور میں ، جب براؤزر ونڈو بند ہوجاتی ہے تو ، سیشن کا سارا ڈیٹا اور کوکیز حذف ہوجاتے ہیں ، لہذا مذکورہ بالا منظر نامے کی جانچ ناممکن ہوجاتی ہے۔


خوش قسمتی سے ، ویب ڈرایور کو براؤزر سے کوکیز کو بند کرنے سے پہلے پڑھنے اور پھر کوکیز کو نئے براؤزر ونڈو میں بحال کرنے کی فعالیت ہوتی ہے۔

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();
} }