Kuidas küpsiseid sees käsitleda Selenium Veebidraiver
HTTP-küpsis sisaldab teavet kasutaja ja tema eelistuste kohta. See salvestab teabe võtme-väärtuse paari abil. See on väike osa andmeid, mis saadetakse veebirakendusest ja salvestatakse veebibrauseris, kui kasutaja seda veebisaiti sirvib.
Lisateabe saamiseks klõpsake siin küpsiste testimine.
Selenium Küpsiste käsud
In Selenium Veebidraiver, saame küpsiseid päringuid teha ja nendega suhelda alloleva sisseehitatud meetodiga:
| Selenium Päringu käsud | Väljund |
|---|---|
driver.manage().getCookies(); |
Tagasta kõigi küpsiste loend |
driver.manage().getCookieNamed(arg0); |
Tagastab konkreetse küpsise nime järgi |
driver.manage().addCookie(arg0); |
Looge ja lisage küpsis |
driver.manage().deleteCookie(arg0); |
Kustutage konkreetne küpsis |
driver.manage().deleteCookieNamed(arg0); |
Kustutage konkreetne küpsis vastavalt nimele |
driver.manage().deleteAllCookies(); |
Kustuta kõik küpsised |
Miks küpsiseid tuleb käsitleda (aktsepteerida) Selenium?
Iga küpsis on seotud nime, väärtuse, domeeni, tee, aegumise ja olekuga, kas see on turvaline või mitte. Kliendi kinnitamiseks parsib server kõik need väärtused küpsises.
Kui Testimine seleeni veebidraiverit kasutav veebirakendus, peate võib-olla looma, värskendama või kustutama küpsise.
Näiteks veebiosturakenduse automatiseerimisel tuleb paljudel automatiseerida teststsenaariume, nagu tellimuse esitamine, ostukorvi vaatamine, makseteave, tellimuse kinnitus jne.
Kui küpsiseid ei salvestata, peate enne ülaltoodud teststsenaariumide käivitamist iga kord sisselogimistoimingu tegema. See suurendab teie kodeerimistööd ja täitmise aega.
Lahenduseks on küpsiste salvestamine faili. Later, hankige sellest failist küpsise väärtused ja lisage sellele oma praegune brauseri seanss. Selle tulemusena saate igas sisselogimistoimingus vahele jätta Testjuhtum sest teie juhiseansis on see teave sees.
Rakendusserver käsitleb nüüd teie brauseri seanssi autentituna ja suunab teid otse teie soovitud URL-ile.
Kuidas küpsiseid sees käsitleda Selenium
Me kasutame https://demo.guru99.com/test/cookie/selenium_aut.php meie demo eesmärgil.
See on 2-etapiline protsess.
Step 1) Logige rakendusse sisse ja salvestage loodud autentimisküpsis.
Step 2) Kasutas salvestatud küpsist, et uuesti rakendusse sisse logida ilma kasutajatunnust ja parooli kasutamata.
Samm 1) Küpsiste teabe salvestamine
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();
}
}
}
Koodi selgitus:
- Looge WebDriveri eksemplar
- Külastame veebisaiti driver.get(“https://demo.guru99.com/test/cookie/selenium_aut.php”) abil
- Logige rakendusse sisse
- Lugege küpsiste teavet kasutades
driver.manage().getCookies();
- Salvestage küpsise teave, kasutades FileWriter Classi märgivoo kirjutamiseks ja BufferedWriter teksti kirjutamiseks faili, et luua failiks Cookies.data
- Fail „Cookies.data” salvestab kogu küpsiste teabe koos „Nimi, väärtuse, domeeni ja teega”. Saame selle teabe hankida ja rakendusse sisse logida ilma sisselogimismandaate sisestamata.
- Kui olete ülaltoodud koodi käivitanud, luuakse fail Cookie.data projekti kaustastruktuuri, nagu on näidatud alloleval ekraanil. Avage fail Cookie.data, näete, et AUT-i sisselogimismandaat on salvestatud küpsisevormingus, vaadake allpool esiletõstetud ekraani
2. samm) Salvestatud küpsise kasutamine rakendusse sisselogimiseks
Nüüd pääseme juurde sammus 1 loodud küpsisele ja kasutame loodud küpsist rakenduses meie seansi autentimiseks
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");
}
}
Väljund: Teid suunatakse otse sisselogimise õnnestumise ekraanile, sisestamata kasutajatunnust ja parooli
MÄRKUS: Kasutage kõva värskendust juhuks, kui näete pärast ülaltoodud skripti täitmist sisselogimislehte.
Järeldus
Nii saate vältida kasutajanime ja parooli sisestamist serverisse, kinnitades neid iga testi jaoks uuesti ja uuesti, kasutades Selenium Veebidraiver ja säästab seeläbi palju aega.


