자동화테스트/Selenium

Selenium Webdriver를 사용하여 DropDown에서 Option을 선택하는 방법

프리스케이터 2018. 11. 21. 08:00

드롭 다운 상자

드롭 다운 상자를 제어하기 전에 다음 두 가지를 수행해야합니다.

  1. 패키지 가져 오기 org.openqa.selenium.support.ui.Select
  2. 드롭 다운 상자를 WebDriver에서 "Select"개체로 인스턴스화합니다.

예를 들어 Mercury Tours의 등록 페이지 ( http://newtours.demoaut.com/mercuryregister.php ) 로 이동 하여 "국가"드롭 다운 상자를 확인하십시오.  

Selenium Webdriver를 사용하여 DropDown에서 Option을 선택하는 방법

1 단계

"select"패키지 가져 오기.

Selenium Webdriver를 사용하여 DropDown에서 Option을 선택하는 방법

2 단계

드롭 다운 요소를 Select 클래스의 인스턴스로 선언하십시오. 아래 예제에서이 인스턴스의 이름을 "drpCountry"로 지정했습니다.

Selenium Webdriver를 사용하여 DropDown에서 Option을 선택하는 방법

3 단계

이제 Select 메서드를 사용하여 "drpCountry"를 제어 할 수 있습니다. 아래 예제 코드는 "ANTARCTICA"옵션을 선택합니다.

Selenium Webdriver를 사용하여 DropDown에서 Option을 선택하는 방법

여러 SELECT 요소에서 항목 선택

다중 SELECT 요소에서 여러 옵션을 선택 하는 데 selectByVisibleText () 메서드를 사용할 수도 있습니다 예를 들어 http://jsbin.com/osebed/2 를 기본 URL로 사용합니다. 한 번에 여러 항목을 선택할 수있는 드롭 다운 상자가 있습니다.

Selenium Webdriver를 사용하여 DropDown에서 Option을 선택하는 방법

아래 코드는 selectByVisibleText () 메서드를 사용하여 처음 두 옵션을 선택합니다.

Selenium Webdriver를 사용하여 DropDown에서 Option을 선택하는 방법

메소드 선택

다음은 드롭 다운 요소에 사용되는 가장 일반적인 방법입니다.

방법기술
selectByVisibleText () 및 deselectByVisibleText () 예제 : Selenium Webdriver를 사용하여 DropDown에서 Option을 선택하는 방법
  • 매개 변수와 일치하는 텍스트를 표시하는 옵션을 선택하거나 선택 취소합니다.
  • 매개 변수 : 특정 옵션의 정확하게 표시된 텍스트
selectByValue () 및 deselectByValue () 예제 : Selenium Webdriver를 사용하여 DropDown에서 Option을 선택하는 방법
  • "value"속성이 지정된 매개 변수와 일치하는 옵션을 선택 / 선택 취소합니다.
  • 매개 변수 : '값'속성의 값
  • 아래의 예와 같이 모든 드롭 다운 옵션이 텍스트와 '값'이 같은 것은 아닙니다.
Selenium Webdriver를 사용하여 DropDown에서 Option을 선택하는 방법  
selectByIndex () 및 deselectByIndex () 예제 : Selenium Webdriver를 사용하여 DropDown에서 Option을 선택하는 방법  
  • 주어진 색인에서 옵션을 선택 / 선택 취소합니다.
  • 매개 변수 : 선택할 옵션의 색인입니다.
isMultiple () 예제 :
 Selenium Webdriver를 사용하여 DropDown에서 Option을 선택하는 방법  
  • 드롭 다운 요소가 한 번에 여러 항목을 선택할 수 있으면 TRUE를 반환합니다. 그렇지 않으면 FALSE.
  • 매개 변수 필요 없음
deselectAll () 예 : Selenium Webdriver를 사용하여 DropDown에서 Option을 선택하는 방법  
  • 선택한 모든 항목을 지 웁니다. 드롭 다운 요소가 여러 선택을 지원하는 경우에만 유효합니다.
  • 매개 변수 필요 없음

다음은 완전한 코드입니다.

package newpackage;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.By;

public class accessDropDown {
 public static void main(String[] args) { 
		System.setProperty("webdriver.firefox.marionette","C:\\geckodriver.exe");
	    String baseURL = "http://demo.guru99.com/test/newtours/register.php";
	    WebDriver driver = new FirefoxDriver();
		driver.get(baseURL);

		Select drpCountry = new Select(driver.findElement(By.name("country")));
		drpCountry.selectByVisibleText("ANTARCTICA");

		//Selecting Items in a Multiple SELECT elements
		driver.get("http://jsbin.com/osebed/2");
		Select fruits = new Select(driver.findElement(By.id("fruits")));
		fruits.selectByVisibleText("Banana");
		fruits.selectByIndex(1);
 }
}

개요

요소명령기술
드롭 다운 상자
(Drop-Down Box)
selectByVisibleText () /deselectByVisibleText ()표시된 텍스트로 옵션을 선택 / 선택 취소합니다.
selectByValue () /deselectByValue ()"value"속성의 값에 따라 옵션을 선택 / 선택 취소합니다.
selectByIndex () /deselectByIndex ()인덱스로 옵션을 선택 / 선택 취소합니다.
isMultiple ()드롭 다운 요소가 한 번에 여러 선택을 허용하면 TRUE를 반환합니다.그렇지 않으면 FALSE
deselectAll ()이전에 선택한 모든 옵션의 선택을 취소합니다.

드롭 다운 상자를 제어하려면 먼저 org.openqa.selenium.support.ui.Select 패키지를 가져온 다음 Select 인스턴스를 만들어야합니다.