Hälytysten ja ponnahdusikkunoiden käsittely Selenium?
⚡ Älykäs yhteenveto
Hälytykset ja ponnahdusikkunat Selenium olemme JavaSkriptivalintaikkunat ja ali-ikkunat, jotka estävät automaation työnkulun. Tässä artikkelissa selitetään, miten tunnistetaan yksinkertaiset, kehotteet ja vahvistushälytykset, miten niihin voi vaihtaa WebDriverin avulla ja miten useita ikkunoita hallitaan getWindowHandles()-funktiolla.

Mikä on hälytys Selenium?
An Hälytys sisään Selenium on pieni JavaSkriptivalintaikkuna, joka tulee näkyviin näytölle antaakseen käyttäjälle tietoja tai ilmoituksia. Se voi vahvistaa tietyn toiminnon, pyytää lupaa suorittaa toiminto tai näyttää varoitusviestin.
Tässä opetusohjelmassa opit käsittelemään ponnahdusikkunoita Selenium ja verkkosovelluksessa esiintyvät erityyppiset hälytykset testausNäemme myös, miten hälytystä käsitellään Selenium WebDriver ja miten se hyväksytään tai hylätään hälytystyypistä riippuen.
Hälytystyypit Selenium
JavaSkripti näyttää kolme varoitusikkunaa, jotka Selenium on toimittava eri tavalla.
1) Simple Alert
Yksinkertainen hälytys näyttää tietoja tai varoituksen näytöllä. Käyttäjä voi kuitata sen vain napsauttamalla OK.
2) Prompt Alert
Hälytyskehote pyytää käyttäjältä syötettä. Selenium WebDriver voi kirjoittaa siihen käyttämällä sendKeys("input...").
3) Confirmation Alert
Vahvistushälytys pyytää käyttäjää hyväksymään tai peruuttamaan toiminnon. Se paljastaa molemmat OK ja Peruuttaa painikkeet.
Hälytyksen käsittely Selenium web-ajuri
Alert käyttöliittymä Selenium web-ajuri esittelee neljä menetelmää, jotka kattavat kaikki hälytystoiminnot.
- mitätön hylkääminen () — napsauttaa Peruuttaa painiketta.
driver.switchTo().alert().dismiss();
- mitätön hyväksyntä() — napsauttaa OK painiketta.
driver.switchTo().alert().accept();
- merkkijono getText() — tallentaa hälytysviestin.
driver.switchTo().alert().getText();
- void sendKeys (StringToSend) — kirjoittaa tekstiä kehotteeseen.
driver.switchTo().alert().sendKeys("Text");
Eclipse automaattinen täydennys näyttää käytettävissä olevat hälytysmenetelmät ty:n jälkeenping alert. editoririvillä. Voit vaihtaa pääikkunasta hälytykseen milloin tahansa käyttämällä Selenium'S .vaihtaa() menetelmällä.
Toimiva esimerkki: Poista asiakasdemo
Automatisoidaan seuraava skenaario. Käytämme Guru99 demosivustoa havainnollistamaan Selenium hälytysten käsittely.
Vaihe 1) Käynnistä selain ja avaa https://demo.guru99.com/test/delete_customer.php.
Vaihe 2) Syötä mikä tahansa asiakastunnus.
Vaihe 3) Valitse Lähetä painiketta.
Vaihe 4) Hyväksy tai hylkää vahvistusilmoitus.
Selenium Java Code: Kahva Confirmation Alert
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 {
// Selenium 4 ships Selenium Manager, so an explicit driver path is no longer required.
WebDriver driver = new ChromeDriver();
// Open the Delete Customer demo page
driver.get("https://demo.guru99.com/test/delete_customer.php");
driver.findElement(By.name("cusid")).sendKeys("53920");
driver.findElement(By.name("submit")).submit();
// Switch to the confirmation alert
Alert alert = driver.switchTo().alert();
// Capture the alert message
String alertMessage = alert.getText();
System.out.println(alertMessage);
Thread.sleep(5000);
// Accept the alert
alert.accept();
driver.quit();
}
}
lähtö: Selain avaa Poista asiakas -sivun, lähettää asiakastunnuksen, hyväksyy vahvistushälytyksen ja poistaa tietueen demosovelluksesta.
Ponnahdusikkunoiden käsittely Windows in Selenium web-ajuri
Kun automaation on toimittava useissa selainikkunoissa, testin on vaihdettava kohdistusta niiden välillä ja palattava pääikkunaan jokaisen toiminnon jälkeen. Selenium WebDriver esittelee kaksi menetelmää, jotka mahdollistavat tämän.
driver.getWindowHandles()
Palauttaa a:n Set<String> jokaisen avoimen ikkunan kahvan. Toista joukkoa vaihtaaksesi pääikkunasta mihin tahansa sovelluksen ali-ikkunaan.
driver.getWindowHandle()
Palauttaa a:n String nykyisen ikkunan yksilöllisellä kahvalla. Tallenna tämä ennen minkään ali-ikkunan avaamista, jotta voit palata pääikkunaan myöhemmin.
Seuraa näitä ohjeita ikkunoiden käsittelyn demonstroimiseksi Guru99 ponnahdusikkunademo.
Toimiva esimerkki: Ikkunan vaihto
Vaihe 1) Käynnistä selain ja avaa https://demo.guru99.com/popup.php.
Vaihe 2) Valitse Klikkaa tästä linkki. Uusi ali-ikkuna avautuu.
Vaihe 3) Ali-ikkuna kehottaa käyttäjää antamaan sähköpostiosoitteensa ja lähettämään lomakkeen.
Vaihe 4) Syötä sähköpostiosoite ja lähetä.
Vaihe 5) Sivulla näkyvät demon palauttamat käyttöoikeustiedot.
Tunnistetietojen näyttämisen jälkeen:
- Sulje lapsi-ikkuna.
- Vaihda kohdistus takaisin pääikkunaan.
Selenium Java Code: Käsittele useita Windows
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 {
// Selenium 4 auto-resolves the browser driver via Selenium Manager
WebDriver driver = new FirefoxDriver();
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();
// Capture every open window handle
Set<String> allWindows = driver.getWindowHandles();
Iterator<String> iterator = allWindows.iterator();
while (iterator.hasNext()) {
String childWindow = iterator.next();
if (!mainWindow.equalsIgnoreCase(childWindow)) {
// Switch to the child window
driver.switchTo().window(childWindow);
driver.findElement(By.name("emailid")).sendKeys("gaurav.3n@gmail.com");
driver.findElement(By.name("btnLogin")).click();
// Close the child window
driver.close();
}
}
// Return focus to the main window
driver.switchTo().window(mainWindow);
driver.quit();
}
}
lähtö: Sivusto käynnistyy, Klikkaa tästä linkki avaa alivälilehden, Selenium syöttää sähköpostin ja lähettää sen, sulkee ali-ikkunan ja palaa pääikkunaan.
Yhteenveto
- Määritteli kolme Selenium hälytystyypit – yksinkertainen, kehote ja vahvistus – ja kustakin on kuvakaappaus.
- Hälytysten käsittelyn esittely WebDriverin avulla
Alertkäyttöliittymä toimivan asiakkaan poistoskenaarion avulla. - Käsitteli useita selainikkunoita kaappaamalla kahvat
getWindowHandle()jagetWindowHandles()ja vaihtamalla niiden välillä.















