Bir HTTP tanımlama bilgisi, kullanıcı ve tercihleri hakkındaki bilgilerden oluşur. Bilgileri bir anahtar / değer çifti kullanarak depolar. 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.
Çerez testi hakkında bilgi almak için burayı tıklayın.
Bu eğitimde öğreneceğiz -
- Çerezler için Selenium Sorgu Komutları
- Çerezleri Neden Selenium ile Kullanmalısınız?
- Demo: Selenium'da çerez kullanımı.
- Adım 1) Çerez bilgilerinin saklanması.
- Adım 2) Uygulamaya giriş yapmak için saklanan çerezi kullanma.
Çerezler için Selenium Sorgu Komutları
Selenium Webdriver'da, aşağıdaki yerleşik yöntemle çerezleri sorgulayabilir ve bunlarla etkileşim kurabiliriz:
driver.manage (). getCookies (); // Tüm Çerezlerin Listesini Döndürdriver.manage (). getCookieNamed (arg0); // İsme göre belirli bir çerez döndürdriver.manage (). addCookie (arg0); // Çerezi oluşturun ve ekleyindriver.manage (). deleteCookie (arg0); // Belirli çerezleri silindriver.manage (). deleteCookieNamed (arg0); // Belirli bir çerezi Ada göre silindriver.manage (). deleteAllCookies (); // Tüm çerezleri sil
Çerezleri Neden Selenium ile Kullanmalısınız?
Her çerez bir ad, değer, etki alanı, yol, son kullanma tarihi ve güvenli olup olmadığına ilişkin durum ile ilişkilendirilir. Bir istemciyi doğrulamak için, bir sunucu tüm bu değerleri bir tanımlama bilgisinde ayrıştırır.
Selenium web sürücüsünü kullanarak bir web uygulamasını test ederken, bir tanımlama bilgisi oluşturmanız, güncellemeniz veya silmeniz gerekebilir.
Örneğin, Çevrimiçi Alışveriş Uygulamasını otomatikleştirirken, birçoğunuzun sipariş ver, Sepeti Görüntüle, Ödeme Bilgileri, sipariş onayı vb. Gibi test senaryolarını otomatikleştirmeniz gerekir.
Çerezler depolanmazsa, yukarıda listelenen test senaryolarını yürütmeden önce her seferinde oturum açma eylemi gerçekleştirmeniz gerekecektir. Bu, kodlama çabanızı ve yürütme sürenizi artıracaktır.
Çözüm, çerezleri bir Dosyada saklamaktır. Daha sonra, tanımlama bilgisinin değerlerini bu dosyadan alın ve buna mevcut tarayıcı oturumunuzu ekleyin. Sonuç olarak, sürücü oturumunuzda bu bilgiler bulunduğundan her Test Durumunda oturum açma adımlarını atlayabilirsiniz.
Uygulama sunucusu artık tarayıcı oturumunuzu kimliği doğrulanmış olarak kabul eder ve sizi doğrudan istediğiniz URL'ye götürür.
Demo: Selenium'da çerez kullanımı.
Demo amacımız için http://demo.guru99.com/test/cookie/selenium_aut.php kullanacağız.
Bu 2 adımlı bir süreç olacaktır.
Adım 1) Uygulamaya giriş yapın ve oluşturulan kimlik doğrulama çerezini saklayın.
Adım 2) Kullanıcı kimliği ve şifre kullanmadan uygulamaya tekrar giriş yapmak için saklanan çerezi kullandı.
Adım 1) Çerez bilgilerinin saklanması.
paket CookieExample;import java.io.BufferedWriter;java.io.File içe aktarma;import java.io.FileWriter;içe aktar 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 [] değiştirgeler){WebDriver sürücüsü;System.setProperty ("webdriver.chrome.driver", "G: ///chromedriver.exe");sürücü = yeni ChromeDriver ();driver.get ("http://demo.guru99.com/test/cookie/selenium_aut.php");// E-posta kimliği ve Parola Girin Zaten Kaydolduysanızdriver.findElement (By.name ("kullanıcı adı")). sendKeys ("abc123");driver.findElement (By.name ("şifre")). sendKeys ("123xyz");driver.findElement (By.name ("submit")) tıklayın ();// Giriş Bilgilerini saklamak için Çerezler adlı dosya oluşturunDosya dosyası = yeni Dosya ("Cookies.data");Deneyin{// Varsa eski dosyayı silinfile.delete ();file.createNewFile ();FileWriter fileWrite = new FileWriter (dosya);BufferedWriter Bwrite = new BufferedWriter (fileWrite);// çerez bilgilerini almak için döngü// çerez bilgilerini almak için döngü(Çerez ck: driver.manage (). getCookies ()) için{Bwrite.write ((ck.getName () + ";" + ck.getValue () + ";" + ck.getDomain () + ";" + ck.getPath () + ";" + ck.getExpiry () + ";" + ck.isSecure ()));Bwrite.newLine ();}Bwrite.close ();fileWrite.close ();}catch (istisna istisna){ex.printStackTrace ();}}}
Kod Açıklaması:
- WebDriver örneği oluşturun
- Driver.get ("http://demo.guru99.com/test/cookie/selenium_aut.php") kullanarak web sitesini ziyaret ediyoruz
- Uygulamaya giriş yapın
- Çerez bilgilerini kullanarak okuyun
driver.manage (). getCookies ();
- Tanımlama bilgisi bilgilerini karakter akışlarını yazmak için FileWriter Class'ı ve metni bir dosyaya yazmak için BufferedWriter'ı kullanarak Cookies.data dosyası olarak saklayın
- "Cookies.data" dosyası, tüm çerez bilgilerini "Ad, Değer, Etki Alanı, Yol" ile birlikte depolar. Bu bilgileri alabilir ve oturum açma kimlik bilgilerini girmeden uygulamaya giriş yapabiliriz.
- Yukarıdaki kodu çalıştırdığınızda, Cookie.data dosyası aşağıdaki ekranda gösterildiği gibi proje klasör yapısında oluşturulur. Cookie.data dosyasını açın, AUT'nin oturum açma kimlik bilgilerinin Çerez formatında kaydedildiğini görebilirsiniz, aşağıda vurgulanan ekrana bakın
Adım 2) Uygulamaya giriş yapmak için saklanan çerezi kullanma.
Şimdi, 1. adımda oluşturulan çereze erişeceğiz ve oluşturulan çerezi uygulamadaki oturumumuzun kimliğini doğrulamak için kullanacağız.
paket CookieExample;java.io.BufferedReader'ı içe aktarın;java.io.File içe aktarma;import java.io.FileReader;içe aktar java.util.Date;import java.util.StringTokenizer;import org.openqa.selenium.Cookie;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;genel sınıf CookieWrite{public static void main (String [] args) {WebDriver sürücüsü;System.setProperty ("webdriver.chrome.driver", "G: //chromedriver.exe");sürücü = yeni ChromeDriver ();Deneyin{Dosya dosyası = yeni Dosya ("Cookies.data");FileReader fileReader = new FileReader (dosya);BufferedReader Buffreader = new BufferedReader (fileReader);String strline;while ((strline = Buffreader.readLine ())! = null) {StringTokenizer belirteci = new StringTokenizer (strline, ";");while (token.hasMoreTokens ()) {Dize adı = token.nextToken ();Dize değeri = token.nextToken ();Dize etki alanı = token.nextToken ();Dize yolu = token.nextToken ();Son kullanma tarihi = boş;Dize değeri;eğer (! (val = token.nextToken ()). equals ("null")){süre sonu = yeni Tarih (val);}Boole isSecure = new Boolean (token.nextToken ()).booleanValue ();Çerez ck = yeni Çerez (ad, değer, etki alanı, yol, süre sonu, isSecure);System.out.println (ck);driver.manage (). addCookie (ck); // Bu, saklanan çerezi mevcut oturumunuza ekleyecektir}}} catch (Exception ex) {ex.printStackTrace ();}driver.get ("http://demo.guru99.com/test/cookie/selenium_aut.php");}}
ÇIKTI: Giriş kullanıcı kimliği ve şifresini girmeden doğrudan oturum açma başarılı ekranına yönlendirilirsiniz.
NOT: Yukarıdaki komut dosyasını çalıştırdıktan sonra oturum açma sayfasını görürseniz, tam yenilemeyi kullanın.
Sonuç
Böylelikle, Selenium Webdriver yardımıyla sunucuya kullanıcı adı ve şifre girmekten kurtulup her testte tekrar tekrar doğrulayarak büyük zaman tasarrufu sağlarsınız.
Bu makale Mangesh Waghmare tarafından hazırlanmıştır.