I den här handledningen lär vi oss hur man hanterar popup-fönster i Selen och olika typer av varningar som finns i webbapplikationstestning. Vi kommer också att se hur vi hanterar Alert i Selenium WebDriver och lär oss hur vi accepterar och avvisar varningen beroende på varningstyperna.
I den här handledningen lär du dig-
- Vad är Alert?
- Hur man hanterar Alert i Selenium WebDriver
- Hur man hanterar Selen Popup-fönster med Webdriver
Vad är varning i selen?
En varning i selen är en liten meddelanderuta som visas på skärmen för att ge användaren viss information eller anmälan. Det meddelar användaren med viss specifik information eller fel, ber om tillstånd för att utföra vissa uppgifter och det ger också varningsmeddelanden.
Här är några varningar i selentyper:
1) Enkel varning
Den enkla varningsklassen i Selen visar viss information eller varning på skärmen.
2) Snabbvarning.
Denna snabbvarning frågar några inmatningar från användaren och Selen webdriver kan ange texten med hjälp av sendkeys ("input."
.... ").3) Bekräftelsesvarning.
Denna bekräftelsesvarning ber om tillstånd att utföra någon typ av operation.
Hur man hanterar Alert i Selenium WebDriver
Varningsgränssnittet innehåller nedanstående få metoder som används i stor utsträckning i Selenium Webdriver.
1) ogiltigförklara () // Klicka på knappen "Avbryt" i varningen.
driver.switchTo (). alert (). avvisa ();
2) annullera ogiltig () // Klicka på knappen 'OK' i varningen.
driver.switchTo (). alert (). acceptera ();
3) String getText () // För att fånga varningsmeddelandet.
driver.switchTo (). alert (). getText ();
4) void sendKeys (String stringToSend) // För att skicka data till varningsrutan.
driver.switchTo (). alert (). sendKeys ("Text");
Du kan se att ett antal varningsmetoder visas som visas på skärmen nedan föreslagen av Eclipse.
Vi kan enkelt byta till varning från huvudfönstret genom att använda Seleniums .switchTo () -metod.
Nu automatiserar vi nedanstående scenario.
I det här scenariot kommer vi att använda Guru99-demo-webbplatsen för att illustrera Selen Alert-hantering.
Steg 1) Starta webbläsaren och öppna webbplatsen "http://demo.guru99.com/test/delete_customer.php"
Steg 2) Ange eventuellt kund-id.
Steg 3) När du har angett kund-ID: n klickar du på knappen "Skicka".
Steg 4) Avvisa / acceptera varningen.
Hantera varning i Selenium Webdriver med ovanstående scenario
importera org.openqa.selenium.By;importera org.openqa.selenium.WebDriver;importera org.openqa.selenium.chrome.ChromeDriver;importera org.openqa.selenium.NoAlertPresentException;importera org.openqa.selenium.Alert;allmän klass AlertDemo {public static void main (String [] args) kastar NoAlertPresentException, InterruptedException {System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver-drivrutin = ny ChromeDriver ();// Varning Meddelandehanteringdriver.get ("http://demo.guru99.com/test/delete_customer.php");driver.findElement (By.name ("cusid")). sendKeys ("53920");driver.findElement (By.name ("submit")). submit ();// Byter till AlertAlert alert = driver.switchTo (). Alert ();// Fångar ett varningsmeddelande.Sträng alertMessage = driver.switchTo (). Alert (). GetText ();// Visar ett varningsmeddelandeSystem.out.println (alertMessage);Thread.sleep (5000);// Accepterar varningalert.accept ();}}
Utgång:
När du kör koden ovan startar den webbplatsen. Försök att radera kund-ID genom att hantera en bekräftelsevarning som visas på skärmen och därmed radera kund-id från applikationen.
Hur man hanterar Selen Pop-up-fönster med Webdriver
I automatisering, när vi har flera fönster i vilken webbapplikation som helst, kan aktiviteten behöva byta kontroll mellan flera fönster från ett till ett annat för att slutföra operationen. Efter avslutad operation måste den återgå till huvudfönstret, dvs överordnat fönster i Selen. Vi kommer att se detta vidare i artikeln med ett exempel.
I Selenium webbdrivrutin finns det metoder genom vilka vi kan hantera flera fönster.
Driver.getWindowHandles ();
För att hantera alla öppnade fönster med webbdrivrutinen kan vi använda "Driver.getWindowHandles ()" och sedan kan vi byta fönster från ett fönster till ett annat i en webbapplikation. Dess returtyp är Iterator
Driver.getWindowHandle ();
När webbplatsen öppnas måste vi hantera huvudfönstret med driver.getWindowHandle () . Detta hanterar det aktuella fönstret som unikt identifierar det i denna drivrutinsinstans. Dess returtyp är String.
För fönsterhantering i Selen följer vi stegen nedan:
Nu kommer vi att automatisera nedanstående scenario för att se hur man hanterar flera fönster med Selenium Webdriver.
I det här scenariot kommer vi att använda "Guru99" demo-webbplats för att illustrera fönsterhantering.
Steg 1) Starta webbplatsen.
Starta webbläsaren och öppna webbplatsen " http://demo.guru99.com/popup.php "
Steg 2) Klicka på länken "Klicka här".
När användaren klickar på länken "Klicka här" öppnas ett nytt underfönster.
Steg 3) Nytt barnfönster öppnas.
Ett nytt fönster öppnas, be användaren att ange e-post-id och skicka sidan.
Steg 4) Ange ditt e-post-ID och skicka.
Steg 5) Visa åtkomstuppgifter när du skickar sidan.
När du kör koden ser du att barnfönstret är öppet i den nya fliken.
- Stäng fönstret Barn där autentiseringsuppgifterna visas.
- Byt till överordnat fönster.
Hantera flera fönster i Selenium webdriver med ovanstående scenario.
importera java.util.Iterator;importera java.util.Set;importera org.openqa.selenium.By;importera org.openqa.selenium.WebDriver;importera org.openqa.selenium.firefox.FirefoxDriver;offentlig klass WindowHandle_Demo {public static void main (String [] args) kastar InterruptedException {WebDriver-drivrutin = ny FirefoxDriver ();// Starta webbplatsen.driver.get ("http://demo.guru99.com/popup.php");driver.manage (). fönster (). maximera ();driver.findElement (By.xpath ("// * [innehåller (@ href, 'popup.php')]")). klicka ();String MainWindow = driver.getWindowHandle ();// För att hantera alla nya öppnade fönster.Ställ ins1 = driver.getWindowHandles ();Iterator i1 = s1.iterator ();medan (i1.hasNext ()){String ChildWindow = i1.next ();if (! MainWindow.equalsIgnoreCase (ChildWindow)){// Växlar till barnfönsterdriver.switchTo (). fönster (ChildWindow);driver.findElement (By.name ("emailid")).sendKeys ("Den här e-postadressen är skyddad från spamrobotar. Du måste ha Javascript aktiverat för att visa den.");driver.findElement (By.name ("btnLogin")). klicka ();// Stänga barnfönstret.driver.close ();}}// Växla till föräldrafönstret, dvs.driver.switchTo (). fönster (MainWindow);}}
Produktion:
När du utför koden ovan startar den webbplatsen och när du klickar på länken "Klicka här" öppnas ett underfönster i en ny flik. Du kan stänga barnfönstret och växla till föräldrafönstret när operationen är klar. Därför hanterar du mer än ett fönster i applikationen.
Hantering av flera fönster i selen
Slutsats:
- Vi definierade varningstyperna och visade dem med ett skärmdump.
- Demonstrerade hantering av Alert med Selenium WebDriver med användning av ett särskilt scenario.
- Hanterade flera fönster med Selenium WebDriver med ett särskilt scenario.