selenium assertion examples practical applications projects
이 자습서에서는 다양한 실시간 프로젝트 시나리오에서 어설 션을 사용하는 방법에 대해 설명합니다.
- 개체가 표시되는지 확인하려면 (버튼, 링크, 경고)
- 텍스트 또는 값이 있는지 확인합니다.
- 확인란 또는 라디오 버튼이 선택 / 선택 해제되었는지 확인합니다.
- 개체를 편집 할 수 있는지 확인합니다.
=> 여기에서 완벽한 셀레늄 교육 가이드를 확인하십시오.
학습 내용 :
Windows 10에서 .key 파일을 여는 방법
어설 션 사용 – 비디오 자습서
어설 션 실용적인 예
다음과 같은 기능을 사용하여 이러한 시나리오를 처리합니다.
- isDisplayed () – 웹 페이지에 요소가 있는지 확인하는 데 사용됩니다. 요소가 있으면 참 값을 반환합니다.
- isSelected () -이 방법은 요소가 선택되었는지 여부를 결정합니다. 요소가 선택되면 true를 반환하고 그렇지 않으면 false를 반환합니다. 확인란, 라디오 버튼 및 선택 옵션에 널리 사용됩니다.
- 사용 가능() – 특정 텍스트 상자가 편집 가능하거나 사용자가 상호 작용할 수 있는지 확인하는 데 사용됩니다. 사용자가 데이터를 입력 할 수 있으면 true를 반환하고, 비활성화 된 경우 false 값을 반환합니다.
딸깍 하는 소리 여기 irctc 웹 사이트에 대한 샘플 테스트 케이스.
# 1) 개체가 보이는지 확인하려면 :
객체의 존재를 확인하기 위해 isDisplayed ()를 사용하여 상태를 확인할 수 있습니다.
@Test public void verifyLogo() { WebDriver driver = new FirefoxDriver(); driver.get(“https://www.irctc.co.in”); WebElement IrctcLogo = driver.findElement(By.Id(“irctclogo”)); Assert.assertEquals(true, IrctcLogo.isDisplayed()); System.out.println(“IRCTC logo is displayed – Assert passed”); }
여기서 IrctcLogo는 WebElement이며 해당 요소가 표시되는지 확인합니다.
AssertEquals는 예상 값과 실제 값이 모두 같은지 확인합니다. 이 경우 부울 값 (true)입니다.
예상 값 : 진실
실제 값: IrctcLogo.isDisplayed () – 웹 페이지에서의 가용성에 따라 T / F를 반환합니다.
AssertTrue (IrctcLogo.isDisplayed ());를 사용하여 동일한 것을 확인할 수 있습니다.
여기서는 참 부울 조건, 즉 IrctcLogo.isDisplayed ()가 참이되도록 주장합니다.
# 2) 텍스트 또는 값이 있는지 확인하려면 :
특정 텍스트 / 값의 존재를 확인하기 위해 getText () 메서드를 사용하여 HTML 소스 코드에서 요소의 텍스트를 가져 와서 예상되는 문자열과 비교할 수 있습니다.
@Test public void verifyLogo() { WebDriver driver = new FirefoxDriver(); driver.get(“https://www.irctc.co.in”); WebElement IrctcLogo = driver.findElement(By.Id(“irctclogo”)); String ExpectedText = “IRCTC railways”; Assert.assertEquals(ExpectedText, IrctcLogo.getText()); System.out.println(“IRCTC text is a expected – Assert passed”); }
여기서 IrctcLogo는 웹 요소이며 해당 요소가 'IRCTC 철도'로 표시된 텍스트를 보유하고 있는지 확인합니다.
AssertEquals는 예상 값과 실제 값이 모두 같은지 확인합니다. 이 경우 문자열 값 (IRCTC 철도)입니다.
예상 값 : IRCTC 철도
실제 값: IrctcLogo.getText () – 웹 페이지에서 요소의 텍스트를 반환합니다. – IrctcLogo
# 3) 확인란 또는 라디오 버튼이 선택 / 선택 해제되었는지 확인하려면
체크 박스의 상태를 확인하기 위해 isSelected ()를 사용하여 상태를 이해할 수 있습니다.
샘플 HTML 페이지 : (sample.html)
Sample Page
Milk
Butter
Cheese
Water
Juice
Ice
라디오 버튼 – 선택 :
@Test public void verifyElementSelection() { WebDriver driver = new FirefoxDriver(); driver.get('C:\Users\UserName\Desktop\sample.html'); WebElement Butter = driver.findElement(By.Id(“Butter”)); Butter.click(); //clicks on the radio button of Butter Assert.assertEquals(true, Butter.isSelected()); //Verifies that the radio button is selected after action System.out.println(“Radio button is selected – Assert passed”); }
여기서 Butter는 라디오 버튼 WebElement를 참조하며 요소가 선택되었는지 여부를 확인합니다. AssertEquals는 예상 값과 실제 값이 모두 같은지 확인합니다. 이 경우 부울 값 (true)을 주장합니다.
예상 값 : 진실
실제 값: Butter.isSelected () – 라디오 버튼이 선택되었는지 여부에 따라 true / false를 반환합니다.
AssertTrue (Butter.isSelected ());를 사용하여 동일한 것을 확인할 수 있습니다.
여기서는 참 부울 조건, 즉 Butter.isSelected ()가 True라고 주장합니다.
라디오 버튼 – 선택되지 않음 :
@Test public void verifyElementSelection() { WebDriver driver = new FirefoxDriver(); driver.get('C:\Users\UserName\Desktop\sample.html'); WebElement Milk = driver.findElement(By.Id(“Milk”)); //Verifies that the radio button is not selected Assert.assertEquals(false, Milk.isSelected()); System.out.println(“Radio button is not selected – Assert passed”); }
Assert.assertEquals (false, Milk.isSelected ()); 대조적으로, 라디오 버튼이 선택되지 않은 경우 assert하려면 False 반환 값에 assert를 사용할 수 있습니다.
Assert.assertEquals (false, Milk.isSelected ());를 사용하여 동일한 것을 확인할 수 있습니다.
여기서는 거짓 부울 조건 즉, Milk.isSelected ()가 거짓임을 주장합니다.
확인란을 확인하는데도 동일하게 사용할 수 있습니다.
확인란 – 선택 :
@Test public void verifyElementSelection() { WebDriver driver = new FirefoxDriver(); driver.get('C:\Users\UserName\Desktop\sample.html'); WebElement Juice = driver.findElement(By.Id(“Juice”)); Juice.click(); //clicks on the radio button of Juice Assert.assertEquals(true, Juice.isSelected()); //Verifies that the checkbox is selected after action System.out.println(“Checkbox is selected – Assert passed”); }
여기에서 Juice를 WebElement 확인란에 추가하고 요소가 선택되었는지 확인합니다.
AssertEquals는 예상 값과 실제 값이 모두 같은지 확인합니다. 이 경우 부울 값 (true)을 주장합니다.
예상 값 : 진실
실제 값: Juice.isSelected () – 라디오 버튼이 선택되었는지 여부에 따라 true / false를 반환합니다.
Assert.assertEquals (true, Juice.isSelected ())를 사용하여 동일한 것을 확인할 수 있습니다.
여기에서 진정한 부울 조건, 즉 Juice.isSelected ()가 True라고 주장합니다.
확인란 – 선택하지 않음 :
@Test public void verifyElementSelection() { WebDriver driver = new FirefoxDriver(); driver.get('C:\Users\UserName\Desktop\sample.html'); WebElement Water = driver.findElement(By.Id(“Water”)); Water.click(); //clicks on the radio button of Juice Assert.assertEquals(true, Water.isSelected()); //Verifies that the checkbox is selected after action System.out.println(“Checkbox is selected – Assert passed”); }
Assert.assertEquals (false, Water.isSelected ()); 반대로, 체크 박스가 선택되지 않은 경우 assert하려면 False 반환 값에 assert를 사용할 수 있습니다.
Assert.assertEquals (false, Water.isSelected ());를 사용하여 동일한 것을 확인할 수 있습니다.
여기서는 거짓 부울 조건, 즉 Water.isSelected ()가 거짓임을 주장합니다.
# 4) 개체가 편집 가능한지 확인하려면
요소가 상호 작용할 수 있는지 확인하는 데 사용됩니다. 확인을 위해 isEnabled () 메서드를 사용할 수 있습니다. 이 메서드는 텍스트 상자, 라디오 버튼, 버튼, 드롭 다운 등과 같은 모든 WebElement에 사용할 수 있습니다.
샘플 페이지 : (login.html)
Username Password Login Remember me Cancel Forgot password?
요소가 활성화되었는지 확인 :
@Test public void verifyElementEditable() { WebDriver driver = new FirefoxDriver(); driver.get('C:\Users\UserName\Desktop\login.html'); WebElement Password = driver.findElement(By.Name(“passwordtext”)); Assert.assertEquals(true, Username.isEnabled()); //Verifies that the textbox elementis enabled System.out.println(“Element is enabled – Assert passed”); }
여기서 Password는 텍스트 상자의 웹 요소이며 해당 요소가 비활성화되지 않았는지 확인합니다.
AssertEquals는 예상 값과 실제 값이 모두 같은지 확인합니다. 이 경우 부울 값 (true)입니다.
예상 값 : 진실
실제 값: Username.isEnabled () – 텍스트 상자를 편집 / 입력 할 수 있는지 여부에 따라 T / F를 반환합니다.
Assert.assertEquals (true, Username.isEnabled ())를 사용하여 동일한 것을 확인할 수 있습니다.
여기서는 참 부울 조건, 즉 Username.isEnabled ()가 참이라고 주장합니다.
요소가 비활성화되었는지 확인 :
@Test public void verifyElementEditable() { WebDriver driver = new FirefoxDriver(); driver.get('C:\Users\UserName\Desktop\login.html'); WebElement RememberMe = driver.findElement(By.Name(“rememberMe”)); Assert.assertEquals(false, RememberMe.isEnabled()); //Verifies that element is disabled System.out.println(“Element is Disbaled – Assert passed”); }
여기서 RememberMe는 텍스트 상자의 웹 요소이며 해당 요소가 비활성화되지 않았는지 확인합니다.
AssertEquals는 예상 값과 실제 값이 모두 같은지 확인합니다. 이 경우 부울 값 (false)입니다.
예상 값 : 그릇된
실제 값: RememberMe.isEnabled () – 요소가 상호 작용에 사용 가능 / 활성화되었는지 여부에 따라 T / F를 반환합니다.
Assert.assertEquals (false, RememberMe.isEnabled ())를 사용하여 동일하게 확인할 수 있습니다.
여기서는 거짓 부울 조건, 즉 RememberMe.isEnabled ()가 거짓임을 주장합니다.
스크립트에서 확인
Verify는 assert 클래스처럼 예상되는 테스트 결과와 실제 테스트 결과를 비교하는 데 사용되는 클래스이지만 실패하더라도 테스트 실행을 중지하지 않고 테스트 케이스를 계속 실행합니다. Selenium Web Driver에서는 소프트 어설 션을 사용하여 수행됩니다.
Selenium 웹 드라이버의 요소 확인
1. Selenium IDE 및 Selenium RC에서 사용할 수있는 몇 가지 확인 명령은
- verifyTextPresent / verifyTextNotPresent
- verifyElementPresent / verifyElementNotPresent
두. 따라서 Selenium Web Driver에서 스크립트가 종료되지 않고 결과를 확인하려면 Soft Assertion을 사용하십시오. 또는
삼. Selenium Web Driver 명령을 사용할 수 있습니다. 아래 코드를 참조하십시오.
- 날씨 텍스트가 있는지 여부
- 날씨 요소가 있는지 여부
package com.wordpress.pages; import java.util.List; import org.junit.Assert; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.Web Driver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class LearnAssertion { static Web Driver driver; @Test public void Test(){ System.setProperty('Web Driver.chrome.driver', 'D:\New folder\exe\chromedriver.exe'); driver = new ChromeDriver(); driver.get('https://www.ksrtc.in/oprs-web/'); //Verify Title of the Site String Expected_Title ='KSRTC Official Website for Online Bus Ticket Booking - KSRTC.in'; String Actual_Title = driver.getTitle(); Assert.assertEquals(Expected_Title, Actual_Title); //Verify Text or the element 'Home' 'PNR Enquiry' 'Cancel Tickets' 'KSTDC Package Tours' 'About Us' //'Contact US' is present of the Site List Tab = driver.findElements(By.xpath('//div[@class='menu']//a')); for(int i=1;i<=Tab.size();i++){ WebElementTab_Name=driver.findElement(By.xpath('(//div[@class='menu']//a)['+i+']')); Tab_Name.isDisplayed(); String Tab_Value = Tab_Name.getText(); System.out.println(Tab_Value); if(Tab_Value.equalsIgnoreCase('HOME')){ System.out.println('HOME tab is present'); break; } else {System.out.println('HOME tab is not present'); } } }}
자산 명령을 사용하는 경우 / 명령 확인
1. Assert 명령을 사용하여 테스트 케이스가 올바른 방향으로 가고 있는지 확인하면 올바른 사용자 구성이로드되거나 올바른 페이지가로드되거나 올바른 환경이로드되는 등을 의미합니다.
두. 확인 명령을 사용하여 테스트 결과를 잘못된 페이지에 로그인 한 것과 같은 출력 값과 비교하고 어떤 확인을 수행하든 실패합니다.
삼. 테스트 명령을 논리적으로 그룹화하고 내용을 'assert'및 'verify'로 각 그룹을 시작합니다.
결론
위에서 논의한 바와 같이, 우리는 테스트 케이스 검증에 사용할 수있는 Assertion 메서드의 다양한 실제 적용을 보았습니다. 따라서 Assertions는 테스트 케이스 확인에 도움이되며 테스트가 통과 또는 실패 상태인지 확인합니다.
=> 여기에서 셀레늄 교육 자습서의 A-Z를 보려면 여기를 확인하십시오.
추천 도서
- 예제와 함께 텍스트 자습서로 셀레늄 찾기 요소
- 30 개 이상의 최고의 셀레늄 튜토리얼 : 실제 예제로 셀레늄 배우기
- 예제가 포함 된 셀레늄의 키워드 기반 프레임 워크
- GeckoDriver Selenium 튜토리얼 : Selenium 프로젝트에서 GeckoDriver를 사용하는 방법
- Selenium 로케이터 : Selenium에서 XPath를 사용하여 웹 요소 식별 (예)
- 예제를 통해 Selenium에서 Java의 필수 요소 탐색
- Selenium에서 TestNG 주석을 사용하는 방법 알아보기 (예제 포함)
- 실용적인 예제가 포함 된 이식성 테스트 가이드