오이-보고서
우리는 제품의 안정성을 이해하기 위해 테스트 실행을하므로 수동 테스트 든 자동화 된 테스트 든 제품의 안정성을 설명 할 수있는 간결한 보고서를 생성하는 것이 매우 중요합니다. 따라서 Cucumber로 테스트 시나리오를 자동화하는 동안 Cucumber 테스트 보고서를 얼마나 더 잘 생성 할 수 있는지 아는 것이 중요합니다. Cucumber가 BDD 프레임 워크라는 것을 알고 있듯이 멋진보고 메커니즘이 없습니다.
이를 위해서는 Cucumber를 Ant / Junit과 같은 다른 오픈 소스 도구와 통합해야합니다. 여기서는 Java 언어를 지원하기 때문에 JUnit의 예를 더 살펴 보겠습니다.
사용 가능하고 사용하기 쉬운 다양한 보고서 형식에 대해 자세히 살펴 보겠습니다.
예쁜 형식 (HTML 보고서)
Pretty Format은 HTML 형식, 즉 HTML 파일로 Cucumber 테스트 보고서를 생성합니다. 가장 읽기 쉬운 보고서 형식입니다. 기능 파일과 동일한 방식으로 보고서를 생성하므로 추적도 용이합니다. 또한 테스트 실행 후이 보고서를 배치 할 위치를 지정할 수 있습니다. 그것은 될 수 있습니다-
Local Directory − 테스트를 실행할 컴퓨터의 로컬 디렉터리로 보고서 대상 디렉터리를 지정할 수 있습니다.
Server Directory− 또한 공개적으로 액세스 할 수있는 서버의 디렉토리로 대상 디렉토리를 지정하는 규정이 있습니다. 이는 일반적으로 고객 / 이해 관계자가 특정 시점에서 테스트 결과를보기를 원할 때 도움이됩니다.
예
예쁜 형식의 예를 자동화 해 보겠습니다.
Step 1 − 이름이 Maven 프로젝트 생성 cucumberReport Eclipse에서.
Step 2 − 이름이 지정된 패키지 생성 CucumberReport 아래에 src/test/java
Step 3 − 이름이 지정된 기능 파일을 생성합니다. cucumberReport.feature
파일 내에 다음 텍스트를 작성하고 저장하십시오.
Feature − 오이 보고서
#Pass test case에 대한 테스트 결과 확인
Scenario: 로그인 기능이 있습니다.
내가 브라우저를 열었을 때
Facebook 웹 사이트를 열 때
그러면 로그인 버튼이 있어야합니다.
#Failed 테스트 케이스 테스트 결과 확인
Scenario: 비밀번호 분실
내가 브라우저를 열었을 때
Facebook 웹 사이트를 열 때
그런 다음 비밀번호 찾기 링크가 있어야합니다.
Note− 여기서 시나리오는 먼저 통과하고 두 번째 시나리오는 실패합니다. 통과 및 실패 보고서가 어떻게 보이는지 확인할 수 있습니다.
Step 4 − 단계 정의 파일을 생성합니다.
패키지 개요를 선택하고 마우스 오른쪽 버튼으로 클릭합니다.
'새로 만들기'파일을 클릭합니다.
파일 이름을 다음과 같이 지정하십시오. cucumberReport.java
파일 내에 다음 텍스트를 작성하고 저장하십시오.
package CucumberReport;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import cucumber.annotation.en.Given;
import cucumber.annotation.en.Then;
import cucumber.annotation.en.When;
public class cucumberReport {
WebDriver driver = null;
@Given("^I have open the browser$")
public void openBrowser() {
driver = new FirefoxDriver();
}
@When("^I open Facebook website$")
public void goToFacebook() {
driver.navigate().to("https://www.facebook.com/");
}
@Then("^Login button should exits$")
public void loginButton() {
if(driver.findElement(By.id("u_0_v")).isEnabled()) {
System.out.println("Test 1 Pass");
} else {
System.out.println("Test 1 Fail");
}
}
@Then("^Forgot password link should exist$")
public void forgotPWD() {
if(driver.findElement(By.id("")).isEnabled()) {
System.out.println("Test 1 Pass");
} else {
System.out.println("Test 1 Fail");
}
}
}
Step 5 − 러너 클래스 파일을 생성합니다.
이름이 지정된 러너 클래스를 만듭니다. runTest.java 패키지 내부.
다음 코드를 작성하십시오. 파일을 저장하십시오.
package CucumberReport;
import org.junit.runner.RunWith;
import cucumber.junit.Cucumber;
@RunWith(Cucumber.class)
@Cucumber.Options(
format = {"pretty", "html:target/Destination"} )
//Specifying pretty as a format option ensure that HTML report will be generated.
//When we specify html:target/Destination - It will generate the HTML report
inside the Destination folder, in the target folder of the maven project.
public class runTest { }
옵션을 사용하여 테스트 실행
고르다 runTest.java 패키지 탐색기의 파일.
마우스 오른쪽 버튼을 클릭하고 옵션을 선택합니다. Run as.
JUnit 테스트를 선택하십시오.
이 클래스 파일을 실행할 때 다음 사항을 관찰합니다.
두 시나리오 모두 하나씩 실행됩니다.
대상 디렉터리 내에 대상이라는 폴더가 생성됩니다.
보고서는 "Index.html"로 이름이 지정됩니다.
웹 브라우저로 Index.html을 엽니 다.
다음 이미지에 언급 된 보고서를 볼 수 있습니다.
실패한 시나리오의 색상을 정확하게 강조합니다. 또한 해당 시나리오에서 실패한 단계에 대한 강조 표시가 표시됩니다. 이것은 디버깅을 매우 쉽게 만듭니다.
JSON 보고서
지금까지 HTML 보고서가 얼마나 쉬운 지 보았습니다. 그러나이 보고서 정보를 다른 응용 프로그램에 전달하려는 경우 HTML 보고서의 경우 다소 까다 롭습니다. 여기에 또 다른보고 형식이 필요합니다. JSON-Java 스크립트 개체 표기법은 Cucumber 테스트 보고서를 생성하는 또 다른 형식입니다. JSON은 텍스트 형식으로 저장된 많은 정보를 포함하는 객체입니다. JSON 보고서는 테이블에 다른 값을 가져옵니다. JSON 보고서는 다른 서버간에 전송할 정보의 페이로드로도 사용할 수 있습니다. 또한 웹 페이지로 표시하는 데 사용할 수 있습니다. 요컨대, JSON 보고서는 다른 애플리케이션에서 사용할 수 있습니다.
What is payload information?인터넷을 통해 데이터를 전송할 때 전송되는 각 단위에는 헤더 정보와 전송중인 실제 데이터가 모두 포함됩니다. 헤더는 패킷의 소스와 목적지를 식별하는 반면 실제 데이터는 페이로드라고합니다. JSON 보고서를 생성하려면 러너 파일을 변경하기 만하면됩니다.
다음과 같이 러너 파일의 형식 옵션을 변경합니다.
package CucumberReport;
import org.junit.runner.RunWith;
import cucumber.junit.Cucumber;
@RunWith(Cucumber.class)
@Cucumber.Options( format={"json:target/Destination/cucumber.json"})
//When we specify json:target/Destination/cucumber.json - It will generate the JSON
report inside the Destination folder, in the target folder of the maven project.
public class runTest {}
옵션을 사용하여 테스트 실행-
고르다 runTest.java 패키지 탐색기의 파일.
마우스 오른쪽 버튼을 클릭하고 옵션을 선택하십시오. Run as.
JUnit 테스트를 선택하십시오.
이 클래스 파일을 실행할 때 다음 사항을 관찰합니다.
두 시나리오 모두 하나씩 실행됩니다.
보고서는 다음과 같이 명명됩니다. cucumber.json (러너 클래스에서 제공됨).
열다 cucumber.json 텍스트 편집기로 파일.
줄 바꿈을 배치 한 후 다음 스크린 샷에 언급 된 보고서를 볼 수 있습니다.
Note − JSON은 HTML 보고서 형식에 비해 가독성이 떨어집니다.