알림 및 팝업을 처리하는 방법 Selenium?
⚡ 스마트 요약
알림 및 팝업 Selenium are Java자동화 흐름을 차단하는 스크립트 대화 상자 및 하위 창. 이 문서에서는 단순 알림, 프롬프트 알림 및 확인 알림을 식별하고, WebDriver를 사용하여 해당 알림으로 전환하고, getWindowHandles()를 사용하여 여러 창을 관리하는 방법을 설명합니다.

알림이란 무엇인가요? Selenium?
An 경고 Selenium 작은입니다 Java화면에 나타나 사용자에게 정보나 알림을 제공하는 스크립트 대화 상자입니다. 특정 작업을 확인하거나, 작업 수행 권한을 요청하거나, 경고 메시지를 표시할 수 있습니다.
이 튜토리얼에서는 팝업을 처리하는 방법을 배우게 됩니다. Selenium 웹 애플리케이션에서 발견되는 다양한 유형의 알림 테스트또한 알림을 처리하는 방법도 살펴보겠습니다. Selenium WebDriver와 알림 유형에 따라 수락 또는 거부하는 방법에 대한 설명입니다.
경고 유형 Selenium
Java스크립트는 세 개의 경고 대화 상자를 표시합니다. Selenium 다르게 처리해야 합니다.
1) Simple Alert
간단한 알림은 화면에 정보나 경고를 표시합니다. 사용자는 클릭을 통해서만 알림을 확인할 수 있습니다. OK.
2) Prompt Alert
알림 메시지는 사용자에게 입력을 요청합니다. Selenium WebDriver는 다음을 사용하여 입력할 수 있습니다. sendKeys("input...").
3) Confirmation Alert
확인 알림은 사용자에게 작업을 승인하거나 취소할지 묻습니다. 이 알림은 두 가지 옵션을 모두 표시합니다. OK 취소 버튼.
경고를 처리하는 방법 Selenium 웹드라이버
The Alert 인터페이스 Selenium 웹드라이버 모든 알림 상호 작용을 포괄하는 네 가지 방법을 보여줍니다.
- 무효 해제() — 클릭합니다 취소 버튼을 클릭합니다.
driver.switchTo().alert().dismiss();
- 무효 수락() — 클릭합니다 OK 버튼을 클릭합니다.
driver.switchTo().alert().accept();
- 문자열 getText() — 경고 메시지를 캡처합니다.
driver.switchTo().alert().getText();
- 무효 sendKeys(문자열 stringToSend) — 프롬프트 알림창에 텍스트를 입력합니다.
driver.switchTo().alert().sendKeys("Text");
Eclipse 자동 완성 기능은 입력 후 사용 가능한 알림 방법을 보여줍니다.ping alert. 편집기 줄에서. 언제든지 메인 창에서 알림 창으로 전환하려면 다음을 사용하세요. Selenium의 .로 전환() 방법.
예시: 고객 데모 삭제
다음 시나리오를 자동화해 보겠습니다. 이를 위해 다음을 사용할 것입니다. Guru설명을 위한 99개의 데모 사이트 Selenium 알림 처리.
단계 1) 브라우저를 실행하고 엽니다. https://demo.guru99.com/test/delete_customer.php.
단계 2) 고객 ID를 입력하세요.
단계 3) 클릭 문의하기 버튼을 클릭합니다.
단계 4) 표시되는 확인 알림을 수락하거나 거부하십시오.
Selenium Java Code: 핸들 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();
}
}
출력: 브라우저가 고객 삭제 페이지를 열고, 고객 ID를 제출하고, 확인 알림을 수락하면 데모 애플리케이션에서 해당 기록이 삭제됩니다.
팝업 처리 방법 Windows in Selenium 웹드라이버
자동화 테스트가 여러 브라우저 창에서 작동해야 하는 경우, 테스트는 각 작업 후 창 간에 포커스를 전환하고 원래 창으로 돌아와야 합니다. Selenium WebDriver는 이를 가능하게 하는 두 가지 메서드를 제공합니다.
driver.getWindowHandles()
반환 Set<String> 열려 있는 모든 창 핸들을 반환합니다. 이 핸들 집합을 순회하여 메인 창에서 애플리케이션 내의 모든 자식 창으로 전환할 수 있습니다.
드라이버.getWindowHandle()
반환 String 현재 창의 고유 핸들을 가져옵니다. 자식 창을 열기 전에 이 핸들을 저장해 두면 나중에 부모 창으로 돌아갈 수 있습니다.
다음 단계를 따라 창 처리 기능을 시연해 보세요. Guru99 팝업 데모.
예시: 창 전환
단계 1) 브라우저를 실행하고 엽니다. https://demo.guru99.com/popup.php.
단계 2) 클릭 Click Here 링크. 새 하위 창이 열립니다.
단계 3) 하위 창에는 사용자가 이메일 주소를 입력하고 제출하라는 메시지가 표시됩니다.
단계 4) 이메일 주소를 입력하고 제출하세요.
단계 5) 이 페이지에는 데모에서 반환된 액세스 자격 증명이 표시됩니다.
자격 증명 표시 후:
- 자식 창을 닫으세요.
- 부모 창으로 초점을 다시 전환합니다.
Selenium Java Code: 여러 개를 처리합니다 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();
}
}
출력: 사이트가 출시됩니다. 더 알아보기 링크를 클릭하면 하위 탭이 열립니다. Selenium 이메일을 입력하고 제출하면 하위 창이 닫히고 상위 창으로 돌아갑니다.
맺음말
- 세 가지를 정의했습니다 Selenium 알림 유형(단순, 즉시, 확인)과 각 유형에 대한 스크린샷입니다.
- WebDriver를 사용한 경고 처리 시연
Alert고객 삭제 시나리오가 작동하는 인터페이스입니다. - 핸들을 캡처하여 여러 브라우저 창을 처리했습니다.
getWindowHandle()getWindowHandles()그리고 그 사이를 전환합니다.















