Selenium 경고 및 팝업 창 처리: 처리 방법?

셀레늄의 경고란 무엇입니까?

An 셀레늄에 대한 경고 작은 메시지야 box 사용자에게 정보나 알림을 제공하기 위해 화면에 표시됩니다. 사용자에게 특정 정보나 오류를 알리고 특정 작업을 수행할 수 있는 권한을 요청하며 경고 메시지도 제공합니다.

이 튜토리얼에서는 Selenium의 팝업을 처리하는 방법과 웹 애플리케이션에서 발견되는 다양한 유형의 경고를 배웁니다. 지원. 또한 Selenium WebDriver에서 경고를 처리하는 방법을 살펴보고 경고 유형에 따라 경고를 수락하고 거부하는 방법을 알아봅니다.

Selenium의 경고 유형

1) Simple Alert

simple alert Selenium의 클래스는 화면에 일부 정보나 경고를 표시합니다.

Simple Alert

2) Prompt Alert

이 Prompt Alert 사용자에게 입력을 요청하면 Selenium webdriver는 sendkeys(" input…. ")를 사용하여 텍스트를 입력할 수 있습니다.

Prompt Alert

3) Confirmation Alert

이 confirmation alert 어떤 유형의 작업을 수행할 수 있는 권한을 요청합니다.

Confirmation Alert

Selenium WebDriver에서 경고를 처리하는 방법

경고 인터페이스는 다음과 같이 널리 사용되는 몇 가지 방법을 제공합니다. 셀레늄 웹 드라이버.

1) 무효 해제() // 경고의 '취소' 버튼을 클릭합니다.

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

2) 무효 수락()// 경고의 '확인' 버튼을 클릭합니다.

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

3) 문자열 getText() // 경고 메시지를 캡처합니다.

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

4) 무효 sendKeys(문자열 stringToSend) // 경고할 데이터를 보내려면 box.

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

아래 화면과 같이 다양한 Alert 방법이 표시되는 것을 볼 수 있습니다. Eclipse.

Selenium의 다음을 사용하여 기본 창에서 경고로 쉽게 전환할 수 있습니다. .로 전환() 방법.

Selenium WebDriver에서 경고 처리

이제 아래 주어진 시나리오를 자동화합니다.

이 시나리오에서는 Guru99 데모 사이트를 사용하여 Selenium Alert 처리를 설명합니다.

단계 1) 웹 브라우저를 실행하고 사이트를 엽니다. https://demo.guru99.com/test/delete_customer.php

단계 2) 고객 ID를 입력하세요.

Selenium WebDriver에서 경고 처리

단계 3) 고객번호를 입력하신 후 '제출' 버튼을 클릭하세요.

Selenium WebDriver에서 경고 처리

단계 4) 경고를 거부/수락합니다.

Selenium WebDriver에서 경고 처리

Selenium Webdriver에서 경고 처리

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를 삭제해 보세요. confirmation alert 화면에 표시되어 애플리케이션에서 고객 ID가 삭제됩니다.

Selenium Webdriver를 사용하여 팝업 창을 처리하는 방법

자동화에서는 여러 개가 있을 때 windows 모든 웹 애플리케이션에서 활동은 여러 항목 간에 제어를 전환해야 할 수 있습니다. windows 작업을 완료하기 위해 하나에서 다른 것으로. 작업이 완료되면 기본 창, 즉 Selenium의 상위 창으로 돌아가야 합니다. 이에 대해서는 예제를 통해 기사에서 자세히 살펴보겠습니다.

Selenium 웹 드라이버에는 여러 가지를 처리할 수 있는 방법이 있습니다. windows.

Driver.getWindowHandles();

열린 모든 것을 처리하려면 windows 웹 드라이버를 사용하면 "Driver.getWindowHandles()"를 사용할 수 있으며 웹 애플리케이션의 한 창에서 다른 창으로 창을 전환할 수 있습니다. 반환 유형은 Iterator입니다. .

Driver.getWindowHandle();

사이트가 열리면 다음과 같이 기본 창을 처리해야 합니다. 드라이버.getWindowHandle(). 그러면 이 드라이버 인스턴스 내에서 이를 고유하게 식별하는 현재 창이 처리됩니다. 반환 유형은 문자열입니다.

Selenium에서 창을 처리하려면 다음 단계를 따르세요.

이제 아래 주어진 시나리오를 자동화하여 여러 처리 방법을 살펴보겠습니다. windows Selenium Webdriver를 사용합니다.

이 시나리오에서는 "Guru99" 데모 사이트를 사용하여 창 처리를 설명합니다.

단계 1) 사이트를 시작하십시오.

브라우저를 실행하고 사이트를 엽니다 https://demo.guru99.com/popup.php

Selenium Webdriver를 사용하여 팝업 창 처리

단계 2) "여기를 클릭하세요" 링크를 클릭하세요.

사용자가 "여기를 클릭하세요" 링크를 클릭하면 새 하위 창이 열립니다.

Selenium Webdriver를 사용하여 팝업 창 처리

단계 3) 새 하위 창이 열립니다.

새 창이 열리고 사용자에게 e를 입력하도록 요청합니다.mail ID를 입력하고 페이지를 제출하세요.

Selenium Webdriver를 사용하여 팝업 창 처리

단계 4) 전자를 입력하세요mail 신분증을 확인하고 제출하세요.

Selenium Webdriver를 사용하여 팝업 창 처리

단계 5) 페이지 제출 시 액세스 자격 증명을 표시합니다.

Selenium Webdriver를 사용하여 팝업 창 처리

코드를 실행하면 하위 창이 새 탭에 열리는 것을 볼 수 있습니다.

  1. 자격 증명이 표시되는 하위 창을 닫습니다.

Selenium Webdriver를 사용하여 팝업 창 처리

  1. 상위 창으로 전환합니다.

Selenium Webdriver를 사용하여 팝업 창 처리

다중 처리 방법 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 {									
        	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의 다중 창 처리
Selenium의 다중 창 처리

“내게 능력 주시는 자 안에서 내가 모든 것을 할 수 있느니라”

  • 경고 유형을 정의하고 이를 스크린샷으로 표시했습니다.
  • 특정 시나리오를 사용하여 Selenium WebDriver로 경고를 처리하는 방법을 보여줍니다.
  • 여러 처리됨 windows 특정 시나리오를 사용하는 Selenium WebDriver를 사용합니다.