check visibility web elements using various types webdriver commands selenium tutorial 14
WebDriver에서 다양한 유형의 반복 및 조건부 명령을 사용하여 웹 요소의 가시성을 확인하는 방법 :
이전 시리즈에서 WebDriver의 Select 클래스 이는 주로 드롭 다운과 같은 웹 요소를 처리하고 드롭 다운에서 다양한 옵션을 선택하는 데 사용됩니다.
앞으로 나아 가기 셀레늄 시리즈 , 우리는 isSelected (), isEnabled () 및 isDispalyed ()와 같은 WebDriver의 다양한 유형의 루핑 및 조건부 명령에 대해 논의 할 것입니다. 이러한 메서드는 웹 요소의 가시성 범위를 결정하는 데 사용됩니다.
이제 간단한 소개부터 시작하겠습니다. WebDriver에는 작업이 수행되는 웹 요소의 유형에 따라 다양한 가시성 기본 설정에 대한 정보를 자세히 설명하는 W3C 사양이 있습니다.
WebDriver는 웹 요소의 가시성을 확인하기 위해 다음과 같은 방법으로 사용자를 용이하게합니다. 이러한 웹 요소는 단추, 드롭 상자, 확인란, 라디오 단추, 레이블 등이 될 수 있습니다.
- isDisplayed ()
- isSelected ()
- 사용 가능()
이해를 돕기 위해 앞서 언급 한 방법을 코드 예제와 함께 논의 해 보겠습니다.
샘플로 'google.com'을 테스트중인 애플리케이션으로 사용하고 이전 자습서에서 스크립트 생성을 위해 만든 'Learning_Selenium'프로젝트를 사용합니다.
자동화 할 시나리오
- 웹 브라우저를 시작하고 테스트중인 애플리케이션을 엽니 다. http://google.com
- 웹 페이지 제목 확인
- 'Google 검색'버튼이 표시되는지 확인
- 'Google 검색'텍스트 상자에 요청하려는 키워드를 입력하십시오.
- '검색 버튼'이 표시되고 활성화되었는지 확인합니다.
- 검색 버튼의 가시성에 따라 검색 버튼을 클릭합니다.
학습 내용 :
WebDriver 코드
1 단계: “Learning_Selenium”프로젝트 아래에“VisibilityConditions”라는 이름의 새 Java 클래스를 만듭니다.
YouTube 비디오를 mp3로 변환하는 가장 좋은 방법
2 단계: “VisibilityConditions.java”클래스에 아래 코드를 복사하여 붙여 넣습니다.
다음은 위에서 언급 한 시나리오에 해당하는 테스트 스크립트입니다.
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class VisibilityConditions { /** * @param args */ public static void main(String[] args) { // objects and variables instantiation WebDriver driver = new FirefoxDriver(); String appUrl = 'https://google.com'; // launch the firefox browser and open the application url driver.get(appUrl); // maximize the browser window driver.manage().window().maximize(); // declare and initialize the variable to store the expected title of the webpage. String expectedTitle = 'Google'; // fetch the title of the web page and save it into a string variable String actualTitle = driver.getTitle(); // compare the expected title of the page with the actual title of the page and print the result if (expectedTitle.equals(actualTitle)) { System.out.println('Verification Successful - The correct title is displayed on the web page.'); } else { System.out.println('Verification Failed - An incorrect title is displayed on the web page.'); } // verify if the “Google Search” button is displayed and print the result boolean submitbuttonPresence=driver.findElement(By.id('gbqfba')).isDisplayed(); System.out.println(submitbuttonPresence); // enter the keyword in the “Google Search” text box by which we would want to make the request WebElement searchTextBox = driver.findElement(By.id('gbqfq')); searchTextBox.clear(); searchTextBox.sendKeys('Selenium'); // verify that the “Search button” is displayed and enabled boolean searchIconPresence = driver.findElement(By.id('gbqfb')).isDisplayed(); boolean searchIconEnabled = driver.findElement(By.id('gbqfb')).isEnabled(); if (searchIconPresence==true && searchIconEnabled==true) { // click on the search button WebElement searchIcon = driver.findElement(By.id('gbqfb')); searchIcon.click(); } // close the web browser driver.close(); System.out.println('Test script executed successfully.'); // terminate the program System.exit(0); } }
코드 연습
다음은 웹 페이지에서 웹 요소의 존재를 확인하는 방법입니다.
부울 submitbuttonPresence = driver.findElement (By.id ( '믿다' )). isDisplayed ();
isDispalyed ()
isDisplayed ()는 웹 페이지 내에서 웹 요소의 존재를 확인하는 데 사용되는 메서드입니다. 이 메서드는 각 성공 및 실패에 대한 부울 값의 결과를 얻도록 설계되었습니다. 이 메서드는 지정된 웹 요소가 웹 페이지에 있으면 'true'값을 반환하고 웹 페이지에 웹 요소가 없으면 'false'값을 반환합니다.
따라서 위의 코드 스 니펫은 Google 웹 페이지에 제출 버튼이 있는지 확인하고 제출 버튼이 있고 표시되는 경우 true 값을 반환하고 웹 페이지에 제출 버튼이 없으면 false 값을 반환합니다.
부울 searchIconEnabled = driver.findElement (By.id ( 'Gbqfb' )).사용 가능();
이 방법은 한 유형으로 만 제한하지 않고 모든 종류의 웹 요소의 가시성을 다룹니다.
사용 가능()
isEnabled ()는 웹 페이지 내에서 웹 요소가 활성화 또는 비활성화되었는지 확인하는 데 사용되는 메서드입니다. isDisplayed () 메서드와 마찬가지로 성공 및 실패 할 때마다 부울 값이 생성되도록 설계되었습니다. 이 메서드는 지정된 웹 요소가 웹 페이지에서 활성화 된 경우 'true'값을 반환하고 웹 페이지에서 웹 요소가 활성화되지 않은 경우 (비활성화 된 상태) 'false'값을 반환합니다.
따라서 위의 코드 조각은 제출 단추가 활성화되었는지 여부를 확인하고 결과에 따라 부울 값을 반환합니다.
isEnabled () 메서드는 '조건 A'가 충족 되어야만 요소 (주로 버튼)가 활성화되었는지 확인하려는 시나리오에서 중요합니다. 동일한 경우 다음 그림을 참조하십시오.
위 그림에서 등록 버튼은 동의 체크 박스를 선택한 경우에만 활성화됩니다.
위의 메서드와 유사하게 지정된 웹 요소가 선택되었는지 여부를 테스트하는 'isSelected ()'로 참조되는 메서드가 있습니다.
부울 searchIconSelected = driver.findElement (By.id ( '남성' )). isSelected ();
Windows 10 용 무료 SQL 소프트웨어
isSelected ()
isSelected ()는 웹 요소가 선택되었는지 확인하는 데 사용되는 메서드입니다. isSelected () 메서드는 주로 라디오 버튼, 드롭 다운 및 확인란과 함께 사용됩니다. 위의 방법과 유사하게 각 성공 및 실패에 대해 부울 값을 생성하도록 설계되었습니다.
따라서 위의 코드 조각은 남성 라디오 버튼이 선택되었는지 여부를 확인하고 결과에 따라 부울 값을 반환합니다. 동일하게 다음 이미지를 참조하십시오.
결론
이 튜토리얼에서는 WebDriver의 루핑 및 조건부 연산에 익숙해 지도록 노력했습니다. 이러한 조건부 메서드는 종종 웹 요소에 대한 거의 모든 유형의 가시성 옵션을 처리합니다.
기사 요약 :
- WebDriver에는 웹 요소의 유형에 따라 다양한 가시성 기본 설정에 대한 정보를 자세히 설명하는 W3C 사양이 있습니다.
- isDisplayed ()는 웹 페이지 내에서 웹 요소의 존재를 확인하는 데 사용되는 메서드입니다. 이 메서드는 지정된 웹 요소가 웹 페이지에 있으면 'true'값을 반환하고 웹 페이지에 웹 요소가 없으면 'false'값을 반환합니다.
- isDisplayed ()는 사용 가능한 모든 종류의 웹 요소가 있는지 확인할 수 있습니다.
- isEnabled ()는 웹 페이지 내에서 웹 요소가 활성화 또는 비활성화되었는지 확인하는 데 사용되는 메서드입니다.
- isEnabled ()는 주로 버튼과 함께 사용됩니다.
- isSelected ()는 웹 요소가 선택되었는지 확인하는 데 사용되는 메서드입니다. isSelected () 메서드는 주로 라디오 버튼, 드롭 다운 및 확인란과 함께 사용됩니다.
다음 튜토리얼 # 15 : 웹 애플리케이션에서 작업하는 동안 종종 전체 웹 페이지를 새로 고치고 새 웹 요소를 다시로드하여 다른 웹 페이지로 리디렉션됩니다. 때때로 Ajax 호출도있을 수 있습니다. 따라서 웹 페이지를 다시로드하고 웹 요소를 반영하는 동안 시간 지연이 발생할 수 있습니다. 따라서 다음 튜토리얼 인라인은 암시 적 및 명시 적 대기를 사용하여 이러한 시간 지연을 처리하는 것입니다.
독자를위한 참고 사항 : 그때까지 독자는 WebDriver의 방법을 사용하여 웹 요소의 가시성 범위를 자동화하고 테스트 할 수 있습니다.
추천 도서
- Selenium WebDriver 소개 – Selenium Tutorial # 8
- 첫 번째 WebDriver 스크립트 구현 – Selenium WebDriver Tutorial # 10
- Selenium 스크립트 빌드를 위해 Chrome 및 IE 브라우저에서 요소를 찾는 방법 – Selenium Tutorial # 7
- Cucumber Selenium 튜토리얼 : Cucumber Java Selenium WebDriver 통합
- Eclipse로 WebDriver 전체 설정 및 설치 – Selenium Tutorial # 9
- Selenium 스크립트 용 웹 요소를 식별하기 위해 CSS 선택기를 사용하는 방법 – Selenium Tutorial # 6
- 효율적인 Selenium 스크립팅 및 문제 해결 시나리오 – Selenium 자습서 # 27
- 로그로 Selenium 스크립트 디버깅 (Log4j 튜토리얼) – Selenium 튜토리얼 # 26