Çerezlerin Nasıl Kullanılacağı Selenium Web Sürücüsü

Bir HTTP çerezi, kullanıcı ve tercihleri ​​hakkındaki bilgilerden oluşur. Bilgileri bir anahtar-değer çifti kullanarak saklar. Kullanıcı o web sitesinde gezinirken Web Uygulamasından gönderilen ve Web Tarayıcısında saklanan küçük bir veri parçasıdır.

Hakkında bilgi edinmek için buraya tıklayın çerez testi.

Selenium Çerezler için Sorgu Komutları

In Selenium Web sürücüsünde, aşağıdaki yerleşik yöntemle çerezleri sorgulayabilir ve onlarla etkileşime geçebiliriz:

Selenium Sorgu Komutları Çıktı
driver.manage().getCookies(); Tüm Çerezlerin Listesini Döndür
driver.manage().getCookieNamed(arg0); İsme göre belirli çerezleri döndür
driver.manage().addCookie(arg0); Çerezi oluştur ve ekle
driver.manage().deleteCookie(arg0); Belirli çerezleri sil
driver.manage().deleteCookieNamed(arg0); İsme göre belirli çerezleri silin
driver.manage().deleteAllCookies(); Tüm çerezleri sil

Çerezleri Neden İşleme (Kabul Etme) Selenium?

Her çerez bir ad, değer, etki alanı, yol, son kullanma tarihi ve güvenli olup olmadığına ilişkin durumla ilişkilendirilir. Bir istemciyi doğrulamak için sunucu tüm bu değerleri bir çerezde ayrıştırır.

Ne zaman Test yapmak Selenium web sürücüsünü kullanan bir web uygulaması kullanıyorsanız, bir çerez oluşturmanız, güncellemeniz veya silmeniz gerekebilir.

Örneğin Online Alışveriş Uygulamasını otomatikleştirirken sipariş verme, Sepeti Görüntüleme, Ödeme Bilgileri, sipariş onayı vb. test senaryolarını otomatikleştirmeniz gerekir.

Çerezlerin saklanmaması durumunda yukarıda listelenen test senaryolarını yürütmeden önce her defasında oturum açma işlemi yapmanız gerekecektir. Bu, kodlama çabanızı ve yürütme sürenizi artıracaktır.

Çözüm, çerezleri bir Dosyada saklamaktır. Later, bu dosyadan çerez değerlerini alın ve mevcut tarayıcı oturumunuzu buna ekleyin. Sonuç olarak her oturum açma adımını atlayabilirsiniz. Test Durumu çünkü sürücü oturumunuz bu bilgiyi içeriyor.

Uygulama sunucusu artık tarayıcı oturumunuzu kimliği doğrulanmış olarak kabul eder ve sizi doğrudan istediğiniz URL'ye yönlendirir.

Çerezlerin Nasıl Kullanılacağı Selenium

Kullanacağız https://demo.guru99.com/test/cookie/selenium_aut.php demo amacımız için.

Bu 2 adımlı bir süreç olacak.

) 1 Adım Uygulamada oturum açın ve oluşturulan kimlik doğrulama çerezini saklayın.

Çerezleri İşle Selenium

) 2 Adım Kullanıcı adı ve şifre kullanmadan uygulamaya tekrar giriş yapmak için saklanan çerez kullanıldı.

Adım 1) Çerez bilgilerinin saklanması

package CookieExample;

import java.io.BufferedWriter;		
import java.io.File;		
import java.io.FileWriter;
import java.util.Set;
import org.openqa.selenium.By;		
import org.openqa.selenium.WebDriver;		
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.Cookie;		

public class cookieRead{	
        public static void main(String[] args)		
    {
    	WebDriver driver;	
        System.setProperty("webdriver.chrome.driver","G:///chromedriver.exe");					
		driver=new ChromeDriver();        
		driver.get("https://demo.guru99.com/test/cookie/selenium_aut.php");

       				
        // Input Email id and Password If you are already Register		
        driver.findElement(By.name("username")).sendKeys("abc123");							
        driver.findElement(By.name("password")).sendKeys("123xyz");							
        driver.findElement(By.name("submit")).click();					
        		
        // create file named Cookies to store Login Information		
        File file = new File("Cookies.data");							
        try		
        {	  
            // Delete old file if exists
			file.delete();		
            file.createNewFile();			
            FileWriter fileWrite = new FileWriter(file);							
            BufferedWriter Bwrite = new BufferedWriter(fileWrite);							
            // loop for getting the cookie information 		
            	
            // loop for getting the cookie information 		
            for(Cookie ck : driver.manage().getCookies())							
            {			
                Bwrite.write((ck.getName()+";"+ck.getValue()+";"+ck.getDomain()+";"+ck.getPath()+";"+ck.getExpiry()+";"+ck.isSecure()));																									
                Bwrite.newLine();             
            }			
            Bwrite.close();			
            fileWrite.close();	
            
        }
        catch(Exception ex)					
        {		
            ex.printStackTrace();			
        }		
    }		
}

Kod Açıklaması:

  • WebDriver örneği oluştur
  • Driver.get(“https://demo.guru99.com/test/cookie/selenium_aut.php”) kullanarak web sitesini ziyaret ediyoruz.
  • Uygulamaya Giriş Yapın
  • Çerez bilgilerini kullanarak okuyun
    driver.manage().getCookies();
  • Karakter akışlarını yazmak için FileWriter Class'ı kullanarak çerez bilgilerini saklayın ve BufferedWriter, metni bir dosyaya yazmak ve bir dosyaya oluşturmak için Cookies.data
  • “Cookies.data” dosyası, “Ad, Değer, Etki Alanı, Yol” ile birlikte tüm çerez bilgilerini saklar. Bu bilgiyi alabilir ve oturum açma kimlik bilgilerini girmeden uygulamaya giriş yapabiliriz.
  • Yukarıdaki kodu çalıştırdığınızda, aşağıdaki ekranda gösterildiği gibi proje klasörü yapısında Cookie.data dosyası oluşturulur. Cookie.data dosyasını açın, AUT'un oturum açma kimlik bilgilerinin Cookie formatında kaydedildiğini görebilirsiniz, aşağıda vurgulanan ekrana bakın

    Çerezleri İşle Selenium

Adım 2) Uygulamaya giriş yapmak için saklanan çerezin kullanılması

Şimdi 1. adımda oluşturulan çereze erişeceğiz ve oluşturulan çerezi uygulamadaki oturumumuzu doğrulamak için kullanacağız.

package CookieExample;

import java.io.BufferedReader;		
import java.io.File;		
import java.io.FileReader;		
import java.util.Date;		
import java.util.StringTokenizer;		
import org.openqa.selenium.Cookie;		
import org.openqa.selenium.WebDriver;		
import org.openqa.selenium.chrome.ChromeDriver;

public class CookieWrite		
{		
  
	public static void main(String[] args){ 
    	WebDriver driver;     
       	System.setProperty("webdriver.chrome.driver","G://chromedriver.exe");					
        driver=new ChromeDriver();					
    try{			
     
        File file = new File("Cookies.data");							
        FileReader fileReader = new FileReader(file);							
        BufferedReader Buffreader = new BufferedReader(fileReader);							
        String strline;			
        while((strline=Buffreader.readLine())!=null){									
        StringTokenizer token = new StringTokenizer(strline,";");									
        while(token.hasMoreTokens()){					
        String name = token.nextToken();					
        String value = token.nextToken();					
        String domain = token.nextToken();					
        String path = token.nextToken();					
        Date expiry = null;					
        		
        String val;			
        if(!(val=token.nextToken()).equals("null"))
		{		
        	expiry = new Date(val);					
        }		
        Boolean isSecure = new Boolean(token.nextToken()).								
        booleanValue();		
        Cookie ck = new Cookie(name,value,domain,path,expiry,isSecure);			
        System.out.println(ck);
        driver.manage().addCookie(ck); // This will add the stored cookie to your current session					
        }		
        }		
        }catch(Exception ex){					
        ex.printStackTrace();			
        }		
        driver.get("https://demo.guru99.com/test/cookie/selenium_aut.php");					
}	
	}	

Çıktı: Giriş kullanıcı kimliğini ve şifresini girmeden doğrudan oturum açma başarısı ekranına yönlendirilirsiniz

NOT: Yukarıdaki betiği çalıştırdıktan sonra oturum açma sayfasını görmeniz durumunda, tam yenilemeyi kullanın.

Sonuç

Böylece kullanıcı adınızı ve şifrenizi sunucuya girip her test için tekrar tekrar doğrulayarak, Selenium Web sürücüsü ve böylece çok zaman kazandırır.