자동화테스트/Selenium2019. 1. 17. 08:00

Selenium에서 요소 찾기 요소들 찾기

(Find Element and Find Elements in Selenium

)

Find Element / s 명령이 필요한 이유는 무엇입니까?

페이지와 상호 작용하려면 사용자가 요소를 찾아야 합니다요소 찾기 명령은 페이지에서 (하나의) 요소를 고유하게 식별하는 사용됩니다반면, 요소 찾기 명령은 페이지 내의 요소 목록을 고유하게 식별하는 사용됩니다. ID, 이름, 클래스 이름, 링크 텍스트, 부분 링크 텍스트, 태그 이름 XPATH 같이 페이지에서 요소를 고유하게 식별하는 여러 가지 방법이 있습니다.

FindElement 명령 구문 :

요소 찾기 명령은 By 객체를 매개 변수로 사용하고 WebElement 유형의 객체를 반환합니다개체는 ID, 이름, 클래스 이름, XPATH 다양한 로케이터 전략과 함께 사용할 있습니다. 아래는 Selenium 드라이버의 FindElement 명령 구문입니다.

WebElement elementName = driver.findElement (By.LocatorStrategy ( "LocatorValue"));

로케이터 전략은 다음 하나를 사용하여 수행 있습니다.

  • ID
  • Name
  • Class Name
  • Tag Name
  • Link Text
  • Partial Link Text
  • XPATH

로케이터 값은 요소를 식별 있는 고유 값입니다 요소가 ID 또는 이름과 같은 특정 속성을 사용하여 고유하게 식별 있도록 하는 것은 개발자와 테스터의 책임입니다.

:

WebElement loginLink = driver.findElement (By.linkText ( "Login"));

FindElements 명령 구문 :

요소 찾기 명령은 By 객체를 매개 변수로 사용하고 요소 목록을 반환합니다주어진 locator 전략과 locator 값을 사용하여 찾은 요소가없는 경우 목록을 반환합니다다음은 find 요소 명령의 구문입니다.

List <WebElement> elementName = driver.findElements (By.LocatorStrategy ( "LocatorValue"));

:

List <WebElement> listOfElements = driver.findElements (By.xpath ( "// div"));

요소 요소들 찾기

다음은 find 요소와 find 요소들 명령 간의 주요 차이점입니다.

요소 찾기

요소들 찾기

동일한 로케이터로 발견 된 여러 웹 요소가있는 경우 가장 많은 첫 번째 웹 요소를 반환합니다.

웹 요소 목록을 반환합니다.

NoSuchElementException - 로케이터 전략에 일치하는 요소가없는 경우

로케이터 전략과 일치하는 웹 요소가없는 경우 비어있는 목록을 반환합니다.

하나의 웹 요소 만 찾습니다.

로케이터 전략과 일치하는 요소 모음을 찾습니다.

해당 사항 없음

각 웹 요소는 배열과 마찬가지로 0부터 시작하는 숫자로 인덱싱됩니다.

요소 찾기

다음 응용 프로그램은 데모 용도로 사용됩니다.

http://demo.guru99.com/test/ajax.html

대본:

1. AUT 엽니다.

2. 라디오 버튼을 찾아서 클릭하십시오.

package com.sample.stepdefinitions;
 
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
 
public class NameDemo {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
 
        System.setProperty("webdriver.chrome.driver", "D:\\3rdparty\\chrome\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.manage().window().maximize();
 
        driver.get("http://demo.guru99.com/test/ajax.html");
 
        // Find the radio button for "No" using its ID and click on it
        System.out.println(By.Name("name"));
 
    }
 
}

 

요소 찾기 명령 :

시나리오:

1. 테스트중인 응용 프로그램의 URL 엽니다.

2. 라디오 버튼 텍스트를 찾아서 출력 콘솔에 출력하십시오.

package com.sample.stepdefinitions;
 
import java.util.List;
 
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
 
public class NameDemo {
 
    public static void main(String[] args) {
 
        System.setProperty("webdriver.chrome.driver", "X://chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("http://demo.guru99.com/test/ajax.html");
        List &lt;
        WebElement &gt;
        elements = driver.findElements(By.name("name"));
        System.out.println("Number of elements:" + elements.size());
 
        for (int i = 0; i &lt; elements.size(); i++) {
            System.out.println("Radio button text:" + elements.get(i).getAttribute("value"));
        }
    }
}

개요:

  • 요소 찾기 명령은 페이지에서 가장 번째 요소와 일치하는 요소를 반환합니다.
  • 요소 찾기 명령은 조건과 일치하는 요소 목록을 반환합니다.
  • 요소 찾기 명령은 조건과 일치하는 요소를 찾지 못하면 NoSuchElement 예외를 throw합니다.
  • 요소 찾기 명령은 조건과 일치하는 요소가없는 경우 목록을 반환합니다.

 


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터