Hälytysten ja ponnahdusikkunoiden käsittely Selenium?

Mitä Alert sisältää Selenium?

An Hälytys sisään Selenium on pieni viestilaatikko, joka ilmestyy näytölle antamaan käyttäjälle tietoja tai ilmoituksia. Se ilmoittaa käyttäjälle tietyillä tiedoilla tai virheillä, pyytää lupaa tiettyjen tehtävien suorittamiseen ja antaa myös varoitusviestejä.

Tässä opetusohjelmassa opimme käsittelemään ponnahdusikkunoita Selenium ja verkkosovelluksesta löytyvät erilaiset hälytykset Testaus. Katsomme myös, miten varoituksia käsitellään Selenium WebDriver ja opi kuinka hyväksymme ja hylkäämme hälytyksen hälytystyypeistä riippuen.

Hälytystyypit Selenium

1) Simple Alert

Yksinkertainen hälytysluokka sisään Selenium näyttää näytöllä joitain tietoja tai varoituksia.

Simple Alert

2) Prompt Alert

Tämä Prompt Alert kysyy tietoja käyttäjältä ja Selenium webdriver voi syöttää tekstiä käyttämällä sendkeys(” input…. ”).

Prompt Alert

3) Confirmation Alert

Tämä vahvistushälytys pyytää lupaa jonkin tyyppiseen toimintoon.

Confirmation Alert

Kuinka käsitellä varoitusta Selenium web-ajuri

Hälytysrajapinta tarjoaa alla muutamia menetelmiä, joita käytetään laajalti Selenium Web-ohjain.

1) mitätön hylkääminen () // Voit napsauttaa hälytyksen 'Peruuta'-painiketta.

driver.switchTo().alert().dismiss();

2) mitätön hyväksyntä()// Voit napsauttaa hälytyksen 'OK'-painiketta.

driver.switchTo().alert().accept();

3) merkkijono getText() // Hälytysviestin sieppaaminen.

driver.switchTo().alert().getText();

4) void sendKeys (StringToSend) // Tiedon lähettäminen hälytyslaatikkoon.

driver.switchTo().alert().sendKeys("Text");

Voit nähdä useita hälytysmenetelmiä, kuten alla olevassa näytössä on ehdotettu Eclipse.

Voimme helposti vaihtaa hälytykseen pääikkunasta käyttämällä Selenium'S .vaihtaa() menetelmällä.

Käsittele hälytys sisään Selenium web-ajuri

Nyt automatisoimme alla olevan skenaarion.

Tässä skenaariossa käytämme havainnollistamiseen Guru99-demosivustoa Selenium Hälytysten käsittely.

Vaihe 1) Käynnistä verkkoselain ja avaa sivusto https://demo.guru99.com/test/delete_customer.php

Vaihe 2) Anna mikä tahansa asiakastunnus.

Käsittele hälytys sisään Selenium web-ajuri

Vaihe 3) Kun olet syöttänyt asiakastunnuksen, napsauta "Lähetä" -painiketta.

Käsittele hälytys sisään Selenium web-ajuri

Vaihe 4) Hylkää/hyväksy hälytys.

Käsittele hälytys sisään Selenium web-ajuri

Käsittelyhälytys sisään Selenium Web-ohjain

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.NoAlertPresentException;	
import org.openqa.selenium.Alert;

public class AlertDemo {
	
	public static void main(String[] args) throws NoAlertPresentException,InterruptedException  {									
		System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe");
		WebDriver driver = new ChromeDriver();
	
        
        // Alert Message handling
                    		
        driver.get("https://demo.guru99.com/test/delete_customer.php");			
                            		
     	      	
        driver.findElement(By.name("cusid")).sendKeys("53920");					
        driver.findElement(By.name("submit")).submit();			
        		
        // Switching to Alert        
        Alert alert = driver.switchTo().alert();		
        		
        // Capturing alert message.    
        String alertMessage= driver.switchTo().alert().getText();		
        		
        // Displaying alert message		
        System.out.println(alertMessage);	
        Thread.sleep(5000);
        		
        // Accepting alert		
        alert.accept();		
    }	

}
		

lähtö:

Kun suoritat yllä olevan koodin, se käynnistää sivuston. Yritä poistaa asiakastunnus käsittelemällä näytöllä näkyvää vahvistusvaroitusta ja siten poistamalla asiakastunnus sovelluksesta.

Kuinka käsitellä ponnahdusikkunoita käyttämällä Selenium Web-ohjain

Automatiikassa, kun meillä on useita ikkunoita missä tahansa verkkosovelluksessa, toiminnon on ehkä vaihdettava ohjausta useiden ikkunoiden välillä yhdestä toiseen toiminnon suorittamiseksi loppuun. Toiminnon suorittamisen jälkeen sen on palattava pääikkunaan eli pääikkunaan Selenium. Näemme tämän tarkemmin artikkelissa esimerkin avulla.

In Selenium web-ohjain on olemassa menetelmiä, joiden avulla voimme käsitellä useita ikkunoita.

Driver.getWindowHandles();

Kaikkien avattujen ikkunoiden käsittelemiseksi web-ohjaimen avulla voimme käyttää "Driver.getWindowHandles()" ja sitten voimme vaihtaa ikkunaa ikkunasta toiseen verkkosovelluksessa. Sen palautustyyppi on Iterator .

Driver.getWindowHandle();

Kun sivusto avautuu, meidän on käsiteltävä pääikkunaa driver.getWindowHandle(). Tämä käsittelee nykyistä ikkunaa, joka yksilöi sen tässä ohjainesiintymässä. Sen palautustyyppi on String.

Ikkunoiden käsittelyyn Selenium, noudatamme seuraavia vaiheita:

Nyt automatisoimme alla olevan skenaarion nähdäksemme kuinka käsitellä useita ikkunoita käyttämällä Selenium Web-ajuri.

Tässä skenaariossa käytämme "Guru99" -demosivustoa havainnollistamaan ikkunoiden käsittelyä.

Vaihe 1) Käynnistä sivusto.

Käynnistä selain ja avaa sivusto https://demo.guru99.com/popup.php

Käsittele ponnahdusikkunaa käyttämällä Selenium Web-ohjain

Vaihe 2) Napsauta linkkiä "Klikkaa tästä".

Kun käyttäjä napsauttaa "Napsauta tästä" -linkkiä, uusi lapsiikkuna avautuu.

Käsittele ponnahdusikkunaa käyttämällä Selenium Web-ohjain

Vaihe 3) Uusi lapsiikkuna avautuu.

Uusi ikkuna avautuu, pyydä käyttäjää antamaan sähköpostiosoite ja lähetä sivu.

Käsittele ponnahdusikkunaa käyttämällä Selenium Web-ohjain

Vaihe 4) Anna sähköpostiosoitteesi ja lähetä.

Käsittele ponnahdusikkunaa käyttämällä Selenium Web-ohjain

Vaihe 5) Näytä käyttöoikeustiedot, kun lähetät sivun.

Käsittele ponnahdusikkunaa käyttämällä Selenium Web-ohjain

Kun suoritat koodin, näet, että lapsiikkuna on auki uudessa välilehdessä.

  1. Sulje lapsi-ikkuna, jossa tunnistetiedot näkyvät.

Käsittele ponnahdusikkunaa käyttämällä Selenium Web-ohjain

  1. Vaihda ylätason ikkunaan.

Käsittele ponnahdusikkunaa käyttämällä Selenium Web-ohjain

Kuinka käsitellä useita Windows in Selenium

import java.util.Iterator;		
import java.util.Set;		
import org.openqa.selenium.By;		
import org.openqa.selenium.WebDriver;		
import org.openqa.selenium.firefox.FirefoxDriver;		

public class WindowHandle_Demo {				

    public static void main(String[] args) throws InterruptedException {									
        	WebDriver driver=new FirefoxDriver();			
        		
        //Launching the site.				
            driver.get("https://demo.guru99.com/popup.php");			
        driver.manage().window().maximize();		
                		
driver.findElement(By.xpath("//*[contains(@href,'popup.php')]")).click();			
        		
        String MainWindow=driver.getWindowHandle();		
        		
        // To handle all new opened window.				
            Set<String> s1=driver.getWindowHandles();		
        Iterator<String> i1=s1.iterator();		
        		
        while(i1.hasNext())			
        {		
            String ChildWindow=i1.next();		
            		
            if(!MainWindow.equalsIgnoreCase(ChildWindow))			
            {    		
                 
                    // Switching to Child window
                    driver.switchTo().window(ChildWindow);	                                                                                                           
                    driver.findElement(By.name("emailid"))
                    .sendKeys("gaurav.3n@gmail.com");                			
                    
                    driver.findElement(By.name("btnLogin")).click();			
                                 
			// Closing the Child Window.
                        driver.close();		
            }		
        }		
        // Switching to Parent window i.e Main Window.
            driver.switchTo().window(MainWindow);				
    }
}		

lähtö:

Kun suoritat yllä olevan koodin, se käynnistää sivuston ja napsauttamalla linkkiä "Klikkaa tästä", se avaa alatason ikkunan uudessa välilehdessä. Voit sulkea alatason ikkunan ja vaihtaa ylätason ikkunaan, kun toiminto on valmis. Näin ollen useiden ikkunoiden käsittely sovelluksessa.

Useiden ikkunoiden käsittely sisään Selenium
Useiden ikkunoiden käsittely sisään Selenium

Yhteenveto

  • Määritimme hälytystyypit ja näytimme ne kuvakaappauksella.
  • Osoitti hälytyksen käsittelyä Selenium WebDriver tietyllä skenaariolla.
  • Käsitteli useita ikkunoita Selenium WebDriver tietyllä skenaariolla.