introduction junit framework
이 튜토리얼은 JUnit 및 셀레늄 스크립트에서의 사용법에 대한 통찰력을 제공합니다. 이것은 우리의 튜토리얼 # 11입니다. 포괄적 인 Selenium 튜토리얼 시리즈.
기본적으로 JUnit은 오픈 소스 단위 테스트 도구이며 크고 작은 코드 단위를 테스트하는 데 사용됩니다. JUnit 테스트를 실행하기 위해 클래스 개체를 만들거나 기본 메서드를 정의 할 필요가 없습니다. JUnit 테스트 결과를 평가하는 데 사용되는 assertion 라이브러리를 제공합니다. JUnit의 주석은 테스트 메소드를 실행하는 데 사용됩니다. JUnit은 또한 여러 테스트 케이스가있는 자동화 스위트를 실행하는 데 사용됩니다.
학습 내용 :
자바 프로젝트에 JUnit 라이브러리 추가
먼저 Java 프로젝트에 JUnit 라이브러리를 추가하는 방법을 배웁니다.
1 단계: Java 프로젝트-> 빌드 경로-> 빌드 경로 구성을 마우스 오른쪽 버튼으로 클릭하십시오.
2 단계: 라이브러리-> 라이브러리 추가를 클릭하십시오.
3 단계 : Junit을 클릭하십시오.
4 단계 : Junit4-> Finish를 선택하십시오.
크롬을위한 최고의 팝업 차단기
5 단계 : 확인을 클릭하십시오.
JUnit 도구를 테스트 실행기로 사용하고 배치 실행 및보고를 시작하는 데 도움이되는 데이터 기반 프레임 워크, 키워드 기반 프레임 워크 및 하이브리드 프레임 워크와 같은 많은 프레임 워크가 있습니다.
Selenium 스크립트에서 사용되는 JUnit 주석
Junit에는 많은 주석이 있습니다. 여기에서는 Selenium 스크립트와 프레임 워크에서 매우 자주 사용되는 몇 가지 주석을 설명했습니다.
#1. @테스트
@테스트 주석은 Junit 테스트를 실행하는 데 사용됩니다.
예 :
@Test public void junitTest() { System.out.println('Running Junit test'); Assert.assertEquals(1,1); }
JUnit 테스트 실행 방법 :
실행-> JUnit 테스트로 실행으로 이동하십시오.
# 2. @전에:
@전에 주석은 각 테스트 전에 특정 테스트를 실행하는 데 사용됩니다.
public class Junttest { @Before public void beforeTest(){ System.out.println('Running before test'); } @Test public void junitTest(){ System.out.println('Running Junit test'); } }
산출:
테스트 전 실행
Junit 테스트 실행
두 개의 junit 테스트 방법을 사용한 전 주석의 예.
public class Junttest { @Before public void beforeTest(){ System.out.println('Running before test'); } @Test public void junitTest(){ System.out.println('Running Junit test'); } @Test public void secondJunitTest(){ System.out.println('Running second Junit test'); } }
산출:
테스트 전 실행
JUnit 테스트 실행
테스트 전 실행
두 번째 JUnit 테스트 실행
JUnit 테스트 메소드를 실행하기 전에 beforeTest 메소드가 실행됩니다. 마찬가지로 secondJuntiTest를 다시 실행하기 전에 beforeTest 메서드가 실행되고 위와 같은 출력이 생성됩니다.
#삼. 뿡 빵뀨
이 메서드는 모든 테스트를 실행하기 전에 한 번 실행됩니다. 메서드는 정적 메서드 여야합니다. 속성 파일, 데이터베이스 등의 초기화는 beforeClass 메서드에서 수행됩니다.
public class Junttest { @BeforeClass public static void beforeClassTest(){ System.out.println('Executed before class method'); } @Test public void junitTest(){ System.out.println('Running Junit test'); } @Test public void secondJunitTest(){ System.out.println('Running second Junit test'); } }
산출:
클래스 메서드 전에 실행
JUnit 테스트 실행
두 번째 JUnit 테스트 실행
# 4. @후
이 메서드는 각 테스트 후에 실행됩니다.
public class Junttest { @Test public void junitTest(){ System.out.println('Running Junit test'); } @After public void afterTest(){ System.out.println('Running after method'); } }
산출:
JUnit 테스트 실행
방법 후 실행
# 5. @방과후
@BeforeClass와 마찬가지로 @AfterClass는 모든 테스트 메서드를 실행 한 후 한 번 실행됩니다. @BeforeClass 메서드와 마찬가지로 @AfterClass 메서드는 정적 메서드 여야합니다.
public class Junttest { @Test public void junitTest(){ System.out.println('Running Junit test'); } @Test public void secondJunitTest(){ System.out.println('Running second Junit test'); } @AfterClass Public static void afterClassTest(){ System.out.println('Running afterclass method'); } }
산출:
JUnit 테스트 실행
두 번째 JUnit 테스트 실행
Afterclass 메서드 실행
JUnit 어설 션은 특정 조건을 검증하는 데 사용되며 조건이 충족되지 않으면 프로그램 실행을 중지합니다.
# 6. 매개 변수화 된 JUnit 클래스 :
매개 변수화 된 클래스는 여러 데이터 세트로 동일한 시나리오를 실행하는 데 사용됩니다.
다음은 JUnit 테스트에서 여러 매개 변수를 전달하는 예입니다.
@Parameters 주석 태그는 여러 데이터를 전달하는 데 사용됩니다. 여기에서는 2 * 2 차원 배열을 취했으며 데이터는 다음과 같이 시각화 할 수 있습니다.
@RunWith(Parameterized.class) public class Junttest { public String name; public int age; public Junttest(String name,int age){ this.name=name; this.age=age; } @Test public void testMethod(){ System.out.println('Name is: '+name +' and age is: '+age); } @Parameters public static Collection parameter(){ Object()() pData=new Object(2)(2); pData(0)(0)='Tom'; pData(0)(1)=30; pData(1)(0)='Harry'; pData(1)(1)=40; return Arrays.asList(pData); } }
JUnit 어설 션
JUnit assertEquals : 두 값이 같은지 확인하고 두 값이 같지 않으면 어설 션이 실패합니다.
이것은 Boolean, int, String, float, long, char 등을 비교합니다.
통사론 :
Assert.assertEqual ( '예외 값', '실제 값');
예 :
Assert.assertEqual ( 'ABC', 'ABC'); // 두 문자열이 같고 어설 션이 통과됩니다.
Assert.assertEqual ( 'ABC', 'DEF'); // 두 문자열이 같지 않으므로 어설 션이 실패합니다.
Assert.assertEqual ( '문자열이 같지 않음', 'ABC', 'DEF'); // 동등한 조건이 충족되지 않으면 메시지가 발생합니다.
다음은 셀레늄에서 JUnit 어설 션을 사용하는 예입니다.
String username=driver.findElement(By.id(“username”)).getText(); String password=driver.findElement(By.id(“password”)).getText(); Assert.assertEqual(“Mismatch in both the string”, username, password);
위의 예에서 두 문자열이 같지 않기 때문에 어설 션이 실패합니다. 하나는 사용자 이름 필드의 텍스트이고 다른 하나는 암호 필드의 텍스트입니다.
JUnit assertTrue : 조건이 참이면 참을 반환하고 조건이 거짓이면 어설 션이 실패합니다.
Assert.assertTrue ( '메시지', 조건);
Assert.assertTrue ( '두 문자열이 같지 않습니다.', ( 'HelloWorld'). equals ( 'HelloWorld'));
xbox 360 용 가상 현실 헤드셋
여기에서 두 문자열이 일치하면 어설 션이 전달됩니다. 어설 션이 실패하면 메시지를 인쇄합니다.
JUnit assertFalse : 조건이 거짓이면 참을 반환하고 조건이 참이면 어설 션이 실패합니다.
Assert.assertFalse ( '메시지', 조건);
Assert.assertFalse ( '두 문자열이 같음', ( 'Hello'). equals ( 'HelloWorld'));
조건이 거짓이므로 어설 션 오류가 발생하지 않습니다.
결론:
대부분의 프로그래머는 Junit을 사용하기 쉽고 테스트하는 데 많은 노력을 기울이지 않습니다. 간단한 녹색 또는 빨간색 막대는 테스트의 실제 결과를 표시합니다. Junit은 자체 라이브러리 및 주석 세트를 가지고 있기 때문에 삶을 쉽게 만듭니다. 여기에서는 셀레늄 스크립트 및 프레임 워크와 함께 사용되는 일반적으로 사용되는 주석도 설명했습니다.
프레임 워크 및 JUnit 주석 사용에 대한 자세한 내용은 Junit을 사용하는 프레임 워크 디자인 전용으로 제공되는 다음 튜토리얼에서 논의 될 것입니다. 이 튜토리얼은 Junit을 사용하여 프레임 워크를 설계하는 데 도움이 될 것입니다.
다음 튜토리얼 # 12 : 다음 튜토리얼에서는 TestNG, 기능 및 응용 프로그램에 대한 모든 것을 논의 할 것입니다. TestNG는 개발자와 테스터 모두의 이점을 활용할 수 있도록 설계된 고급 프레임 워크입니다.
추천 도서
- Cucumber Selenium 튜토리얼 : Cucumber Java Selenium WebDriver 통합
- Selenium 프레임 워크 생성 및 Excel에서 테스트 데이터 액세스-Selenium Tutorial # 21
- 첫 번째 WebDriver 스크립트 구현 – Selenium WebDriver Tutorial # 10
- Selenium WebDriver 소개 – Selenium Tutorial # 8
- 초보자를위한 심층 이클립스 튜토리얼
- TestNG 프레임 워크를 사용하여 Selenium 스크립트를 작성하는 방법-TestNG Selenium Tutorial # 12
- 효율적인 Selenium 스크립팅 및 문제 해결 시나리오 – Selenium 자습서 # 27
- 로그로 Selenium 스크립트 디버깅 (Log4j 튜토리얼) – Selenium 튜토리얼 # 26