Kuidas käsitleda teateid ja hüpikaknaid Selenium?
⚡ Nutikas kokkuvõte
Märguanded ja hüpikaknad sees Selenium See on JavaSkriptidialoogid ja alamaknad, mis blokeerivad automatiseerimise voogu. See artikkel selgitab, kuidas tuvastada lihtsaid, viipa- ja kinnitushoiatusi, neile WebDriveri abil lülituda ja mitut akent getWindowHandles() abil hallata.

Mis on hoiatus? Selenium?
An Hoiatus sisse Selenium on väike JavaSkripti dialoogiboks, mis kuvatakse ekraanil, et anda kasutajale teavet või teavitust. See võib kinnitada konkreetset toimingut, küsida luba toimingu sooritamiseks või kuvada hoiatusteate.
Selles õpetuses õpid, kuidas hüpikakendega toime tulla Selenium ja veebirakenduses leiduvad erinevat tüüpi hoiatused testimineSamuti näeme, kuidas hoiatusega toime tulla. Selenium WebDriver ja kuidas seda olenevalt hoiatuse tüübist vastu võtta või tagasi lükata.
Märguannete tüübid Selenium
JavaSkript kuvab kolm hoiatusdialoogi, mis Selenium tuleb teistmoodi käituda.
1) Simple Alert
Lihtne hoiatus kuvab ekraanil teavet või hoiatust. Kasutaja saab selle kinnitada ainult klõpsates OK.
2) Prompt Alert
Kiire hoiatus küsib kasutajalt sisendit. Selenium WebDriver saab sinna sisestada, kasutades sendKeys("input...").
3) Confirmation Alert
Kinnitushoiatus palub kasutajal toiming heaks kiita või tühistada. See kuvab mõlemad OK ja tühistama nupud.
Kuidas hoiatusega toime tulla Selenium Veebidraiver
. Alert liides sisse Selenium Veebidraiver paljastab neli meetodit, mis hõlmavad kõiki häirete interaktsioone.
- tühine loobumine () — klõpsab tühistama nuppu.
driver.switchTo().alert().dismiss();
- tühine aktsepteerimine () — klõpsab OK nuppu.
driver.switchTo().alert().accept();
- String getText() — jäädvustab hoiatusteate.
driver.switchTo().alert().getText();
- void sendKeys (string stringToSend) — tipib teksti teavitusaknasse.
driver.switchTo().alert().sendKeys("Text");
Eclipse automaatne täitmine kuvab pärast ty-d saadaolevaid hoiatusmeetodeidping alert. redaktorireal. Peaaknast hoiatusaknasse saab igal ajal lülituda, kasutades Selenium'S .switchTo() meetod.
Töötatud näide: Kliendi demo kustutamine
Automatiseerime järgmise stsenaariumi. Kasutame Guru99 demosaiti illustreerimiseks Selenium häirete käsitlemine.
Step 1) Käivitage brauser ja avage https://demo.guru99.com/test/delete_customer.php.
Step 2) Sisestage mis tahes kliendi ID.
Step 3) kliki Saada nuppu.
Step 4) Nõustuge või ignoreerige saadud kinnitushoiatust.
Selenium Java Code: Käepide 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();
}
}
Väljund: Brauser avab lehe „Kustuta klient“, sisestab kliendi ID, aktsepteerib kinnitusteate ja eemaldab kirje demorakendusest.
Kuidas hüpikakendega toime tulla Windows in Selenium Veebidraiver
Kui automatiseerimine peab töötama mitmes brauseriaknas, peab test pärast iga toimingut nende vahel fookust vahetama ja naasma põhiaknasse. Selenium WebDriver pakub kahte meetodit, mis selle võimalikuks teevad.
driver.getWindowHandles()
Tagastab a Set<String> iga avatud akna käepideme kohta. Itereerige kogum läbi, et lülituda rakenduse põhiaknast mis tahes alamaknasse.
driver.getWindowHandle()
Tagastab a String praeguse akna unikaalse pidemega. Salvesta see enne mis tahes alamakna avamist, et saaksid hiljem ülemakna juurde naasta.
Akna käsitlemise demonstreerimiseks järgige neid samme Guru99 hüpikakna demo.
Töötatud näide: Akna vahetamine
Step 1) Käivitage brauser ja avage https://demo.guru99.com/popup.php.
Step 2) kliki Kliki siia link. Avaneb uus alamaken.
Step 3) Lapseaknas palutakse kasutajal sisestada e-posti aadress ja see esitada.
Step 4) Sisestage e-posti aadress ja saatke see.
Step 5) Lehel kuvatakse demo tagastatud juurdepääsuandmed.
Pärast volituste kuvamist:
- Sulge lapse aken.
- Lülitage fookus tagasi ülemaknale.
Selenium Java Code: Mitme käsitlemine 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();
}
}
Väljund: Sait käivitatakse Kliki siia link avab alamvahekaardi, Selenium sisestab e-kirja ja esitab selle, sulgeb alamakna ning naaseb vanema aknasse.
Järeldus
- Määratles kolm Selenium hoiatuste tüübid – lihtne, kiire ja kinnitav – koos ekraanipildiga igaühe kohta.
- WebDriveriga demonstreeritud häirete käsitlemine
Alertliides, mis kasutab toimivat kliendi kustutamise stsenaariumi. - Mitme brauseriakna haldamine käepidemete jäädvustamise teel
getWindowHandle()jagetWindowHandles()ja nende vahel vahetamine.















