Sīkdatņu apstrāde selēna WebDriver

Satura rādītājs:

Anonim

HTTP sīkfails sastāv no informācijas par lietotāju un viņa vēlmēm. Tajā tiek glabāta informācija, izmantojot atslēgu un vērtību pāri. Tas ir neliels datu gabals, kas nosūtīts no tīmekļa lietojumprogrammas un saglabāts tīmekļa pārlūkprogrammā, kamēr lietotājs pārlūko šo vietni.

Noklikšķiniet šeit, lai uzzinātu par sīkfailu testēšanu.

Šajā apmācībā mēs iemācīsimies -

  • Selēna vaicājumu komandas sīkdatnēm
  • Kāpēc rīkoties ar sīkdatnēm selēnā?
  • Demonstrācija: Sīkdatņu apstrāde selēnā.
  • 1. darbība. Sīkdatņu informācijas glabāšana.
  • 2. solis. Izmantojiet saglabāto sīkfailu, lai pieteiktos lietojumprogrammā.

Selēna vaicājumu komandas sīkdatnēm

Selenium Webdriver mēs varam vaicāt un mijiedarboties ar sīkfailiem, izmantojot zemāk iebūvēto metodi:

vadītājs.pārvaldīt (). getCookies (); // Atgrieziet visu sīkfailu sarakstudraiveris.manage (). getCookieNamed (arg0); // Atgrieziet konkrētu sīkfailu pēc nosaukumadraiveris.vada (). addCookie (arg0); // Izveidojiet un pievienojiet sīkfailudriver.manage (). deleteCookie (arg0); // Dzēst konkrētu sīkfailudriver.manage (). deleteCookieNamed (arg0); // Dzēst konkrētu sīkfailu atbilstoši nosaukumamdriver.manage (). deleteAllCookies (); // Dzēst visus sīkfailus

Kāpēc rīkoties ar sīkdatnēm selēnā?

Katrs sīkfails ir saistīts ar nosaukumu, vērtību, domēnu, ceļu, derīguma termiņu un statusu, vai tas ir drošs. Lai pārbaudītu klientu, serveris parsē visas šīs vērtības sīkfailā.

Pārbaudot tīmekļa lietojumprogrammu, izmantojot selēna tīmekļa draiveri, jums, iespējams, būs jāizveido, jāatjaunina vai jāizdzēš sīkfails.

Piemēram, automatizējot tiešsaistes iepirkšanās lietojumprogrammu, daudziem ir jā automatizē testa scenāriji, piemēram, pasūtījums pēc vietas, Skatīt grozu, Informācija par maksājumu, pasūtījuma apstiprinājums utt.

Ja sīkdatnes netiek saglabātas, jums būs jāveic pieteikšanās darbība katru reizi, pirms izpildāt iepriekš minētos testa scenārijus. Tas palielinās jūsu kodēšanas piepūli un izpildes laiku.

Risinājums ir saglabāt sīkfailus failā. Vēlāk no šī faila izgūstiet sīkfaila vērtības un pievienojiet tam savu pašreizējo pārlūka sesiju. Rezultātā jūs varat izlaist pieteikšanās darbības katrā testa gadījumā, jo jūsu vadītāja sesijā ir šī informācija.

Lietojumprogrammu serveris tagad jūsu pārlūkprogrammas sesiju uzskata par autentificētu un tieši novirza jūs uz pieprasīto URL.

Demonstrācija: Sīkdatņu apstrāde selēnā.

Demonstrācijas nolūkiem mēs izmantosim vietni http://demo.guru99.com/test/cookie/selenium_aut.php.

Tas būs divpakāpju process.

1. solis. Piesakieties lietojumprogrammā un saglabājiet ģenerēto autentifikācijas sīkfailu.

2. solis) Izmantoja saglabāto sīkfailu, lai atkal pieteiktos lietojumprogrammā, neizmantojot userid un paroli.

1. darbība. Sīkdatņu informācijas glabāšana.

pakete CookieExample;importēt java.io.BufferedWriter;importēt java.io.File;importēt java.io.FileWriter;importēt java.util.Set;importēt org.openqa.selenium.By;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.chrome.ChromeDriver;importēt org.openqa.selenium.Cookie;sabiedrības klases sīkfailsRead {public static void main (String [] argumenti){WebDriver draiveris;System.setProperty ("webdriver.chrome.driver", "G: ///chromedriver.exe");draiveris = jauns ChromeDriver ();driver.get ("http://demo.guru99.com/test/cookie/selenium_aut.php");// Ievadiet e-pasta ID un paroli, ja jau esat reģistrējiesdraiveris.findElement (By.name ("lietotajvards")). sendKeys ("abc123");driver.findElement (By.name ("parole")). sendKeys ("123xyz");driver.findElement (By.name ("iesniegt")). noklikšķiniet ();// izveidojiet failu ar nosaukumu Sīkfaili, lai saglabātu pieteikšanās informācijuFile file = new File ("Cookies.data");mēģiniet{// Dzēst veco failu, ja tāds irfile.delete ();file.createNewFile ();FileWriter fileWrite = jauns FileWriter (fails);BufferedWriter Bwrite = jauns BufferedWriter (fileWrite);// cilne sīkfailu informācijas iegūšanai// cilne sīkfailu informācijas iegūšanaipar (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 ();}nozveja (izņēmums ex){ex.printStackTrace ();}}}

Koda skaidrojums:

  • Izveidojiet WebDriver instanci
  • Mēs apmeklējam vietni, izmantojot draiveri driver.get ("http://demo.guru99.com/test/cookie/selenium_aut.php")
  • Piesakieties lietojumprogrammā
  • Izlasiet sīkfailu informāciju, izmantojot
    vadītājs.pārvaldīt (). getCookies (); 
  • Saglabājiet sīkfailu informāciju, izmantojot FileWriter klasi, lai rakstītu rakstzīmju plūsmas, un BufferedWriter, lai tekstu ierakstītu failā, lai izveidotu failā Cookies.data
  • "Cookies.data" failā tiek glabāta visa sīkdatņu informācija kopā ar "Name, Value, Domain, Path". Mēs varam izgūt šo informāciju un pieteikties lietojumprogrammā, neievadot pieteikšanās akreditācijas datus.
  • Kad esat palaidis virs koda, fails Cookie.data tiek izveidots projekta mapes struktūrā, kā parādīts zemāk redzamajā ekrānā. Atveriet failu Cookie.data, jūs varat redzēt, ka AUT pieteikšanās akreditācijas dati ir saglabāti sīkfaila formātā, skatiet zemāk iezīmēto ekrānu

2. solis. Izmantojiet saglabāto sīkfailu, lai pieteiktos lietojumprogrammā.

Tagad mēs piekļūsim sīkfailam, kas ģenerēts 1. darbībā, un izmantosim izveidoto sīkfailu, lai autentificētu mūsu sesiju lietojumprogrammā

pakete CookieExample;importēt java.io.BufferedReader;importēt java.io.File;importēt java.io.FileReader;importēt java.util.Date;importēt java.util.StringTokenizer;importēt org.openqa.selenium.Cookie;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.chrome.ChromeDriver;publiskā klase CookieWrite{public static void main (String [] args) {WebDriver draiveris;System.setProperty ("webdriver.chrome.driver", "G: //chromedriver.exe");draiveris = jauns ChromeDriver ();izmēģināt {File file = new File ("Cookies.data");FileReader fileReader = jauns FileReader (fails);BufferedReader Buffreader = jauns BufferedReader (fileReader);Stīgu virkne;while ((strline = Buffreader.readLine ())! = null) {StringTokenizer marķieris = jauns StringTokenizer (strline, ";");while (token.hasMoreTokens ()) {Virknes nosaukums = token.nextToken ();Virknes vērtība = token.nextToken ();Virknes domēns = token.nextToken ();Virknes ceļš = token.nextToken ();Datuma derīguma termiņš = null;Stīgu val;ja (! (val = token.nextToken ()). ir vienāds ("null")){derīguma termiņš = jauns Datums (val);}Būla vērtība isSecure = jauna Būla vērtība (token.nextToken ()).booleanValue ();Sīkdatne ck = jauns sīkfails (nosaukums, vērtība, domēns, ceļš, derīguma termiņš, isSecure);System.out.println (ck);vadītājs.pārvaldīt (). addCookie (ck); // Tas jūsu pašreizējai sesijai pievienos saglabāto sīkfailu}}} nozveja (izņēmums ex) {ex.printStackTrace ();}driver.get ("http://demo.guru99.com/test/cookie/selenium_aut.php");}}

OUTPUT: Jūs tiekat novirzīts tieši uz pieteikšanās veiksmes ekrānu, neievadot ievadīto lietotāja ID un paroli

PIEZĪME. Izmantojiet cieto atsvaidzināšanu, ja pēc iepriekš minētā skripta izpildes redzat pieteikšanās lapu.

Secinājums

Tādējādi jūs varat izvairīties no lietotājvārda un paroles ievadīšanas serverī, pārbaudot tos atkal un atkal katram testam ar Selenium Webdriver palīdzību, tādējādi ietaupot daudz laika.

Šī raksta autors ir Mangesh Waghmare