Selenium 경고 및 팝업 창 처리: 처리 방법은 무엇입니까?
경고 란 무엇입니까? Selenium?
An 경고 Selenium 사용자에게 정보나 알림을 제공하기 위해 화면에 나타나는 작은 메시지 상자입니다. 사용자에게 특정 정보나 오류를 알리고, 특정 작업을 수행할 수 있는 권한을 요청하며, 경고 메시지도 제공합니다.
이 튜토리얼에서는 팝업을 처리하는 방법을 배웁니다. Selenium 웹 애플리케이션에서 발견되는 다양한 유형의 경고 지원. 또한 Alert를 처리하는 방법도 살펴보겠습니다. Selenium WebDriver를 사용하여 경고 유형에 따라 경고를 수락하고 거부하는 방법을 알아보세요.
경고 유형 Selenium
1) Simple Alert
간단한 경고 클래스 Selenium 화면에 일부 정보나 경고를 표시합니다.
2) Prompt Alert
이 Prompt Alert 사용자에게 입력을 요청하고 Selenium webdriver는 sendkeys(" input…. ")를 사용하여 텍스트를 입력할 수 있습니다.
3) Confirmation Alert
이 확인 알림은 어떤 유형의 작업을 수행할 수 있는 권한을 요청합니다.
경고를 처리하는 방법 Selenium 웹드라이버
경고 인터페이스는 다음과 같이 널리 사용되는 몇 가지 방법을 제공합니다. Selenium 웹드라이버.
1) 무효 해제() // 경고의 '취소' 버튼을 클릭합니다.
driver.switchTo().alert().dismiss();
2) 무효 수락()// 경고의 '확인' 버튼을 클릭합니다.
driver.switchTo().alert().accept();
3) 문자열 getText() // 경고 메시지를 캡처합니다.
driver.switchTo().alert().getText();
4) 무효 sendKeys(문자열 stringToSend) // 알림 상자에 일부 데이터를 전송합니다.
driver.switchTo().alert().sendKeys("Text");
아래 화면에서 제안한 대로 여러 가지 알림 방법이 표시되는 것을 볼 수 있습니다. Eclipse.
다음을 사용하여 기본 창에서 경고로 쉽게 전환할 수 있습니다. Selenium의 .로 전환() 방법.
이제 아래 주어진 시나리오를 자동화합니다.
이 시나리오에서는 Guru99 데모 사이트를 사용하여 설명합니다. Selenium 경고 처리.
단계 1) 웹 브라우저를 실행하고 사이트를 엽니다. https://demo.guru99.com/test/delete_customer.php
단계 2) 고객 ID를 입력하세요.
단계 3) 고객번호를 입력하신 후 '제출' 버튼을 클릭하세요.
단계 4) 경고를 거부/수락합니다.
경고 처리 Selenium 웹드라이버
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(); } }
출력:
위의 코드를 실행하면 사이트가 실행됩니다. 화면에 표시되는 확인 알림을 처리하여 고객 ID를 삭제하고, 이를 통해 애플리케이션에서 고객 ID를 삭제해 보세요.
다음을 사용하여 팝업 창을 처리하는 방법 Selenium 웹드라이버
자동화에서 웹 애플리케이션에 여러 창이 있는 경우 활동은 작업을 완료하기 위해 여러 창 간에 제어를 한 창에서 다른 창으로 전환해야 할 수 있습니다. 작업이 완료되면 주 창, 즉 부모 창으로 돌아가야 합니다. Selenium. 이에 대한 자세한 내용은 예제를 통해 기사에서 살펴보겠습니다.
In Selenium 웹 드라이버에는 여러 창을 처리할 수 있는 방법이 있습니다.
Driver.getWindowHandles();
웹 드라이버에서 열린 모든 창을 처리하려면 "Driver.getWindowHandles()"를 사용할 수 있으며, 그런 다음 웹 애플리케이션에서 창을 한 창에서 다른 창으로 전환할 수 있습니다. 반환 유형은 Iterator입니다. .
Driver.getWindowHandle();
사이트가 열리면 다음과 같이 기본 창을 처리해야 합니다. 드라이버.getWindowHandle(). 그러면 이 드라이버 인스턴스 내에서 이를 고유하게 식별하는 현재 창이 처리됩니다. 반환 유형은 문자열입니다.
창 처리의 경우 Selenium, 아래 단계를 따르겠습니다.
이제 아래 주어진 시나리오를 자동화하여 여러 창을 처리하는 방법을 살펴보겠습니다. Selenium 웹드라이버.
이 시나리오에서는 "Guru99" 데모 사이트를 사용하여 창 처리를 설명합니다.
단계 1) 사이트를 시작하십시오.
브라우저를 실행하고 사이트를 엽니다 https://demo.guru99.com/popup.php
단계 2) "여기를 클릭하세요" 링크를 클릭하세요.
사용자가 "여기를 클릭하세요" 링크를 클릭하면 새 하위 창이 열립니다.
단계 3) 새 하위 창이 열립니다.
새 창이 열리면 사용자에게 이메일 ID를 입력하고 페이지를 제출하라고 요청합니다.
단계 4) 이메일 ID를 입력하고 제출하세요.
단계 5) 페이지 제출 시 액세스 자격 증명을 표시합니다.
코드를 실행하면 하위 창이 새 탭에 열리는 것을 볼 수 있습니다.
- 자격 증명이 표시되는 자식 창을 닫습니다.
- 상위 창으로 전환합니다.
다중 처리 방법 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); } }
출력:
위의 코드를 실행하면 사이트가 시작되고 "여기를 클릭하세요" 링크를 클릭하면 새 탭에서 자식 창이 열립니다. 자식 창을 닫고 작업이 완전히 완료되면 부모 창으로 전환할 수 있습니다. 따라서 애플리케이션에서 두 개 이상의 창을 처리합니다.
결론
- 경고 유형을 정의하고 이를 스크린샷으로 표시했습니다.
- 다음을 사용하여 경고를 처리하는 방법을 시연했습니다. Selenium 특정 시나리오를 사용하는 WebDriver.
- 여러 창을 처리했습니다. Selenium 특정 시나리오를 사용하는 WebDriver.