Dưa chuột - Báo cáo

Chúng tôi thực hiện kiểm tra để hiểu tính ổn định của sản phẩm, vì vậy, dù là kiểm tra thủ công hay kiểm tra tự động, điều rất quan trọng là phải tạo một báo cáo ngắn gọn có thể mô tả tính ổn định của sản phẩm. Do đó, trong khi chúng tôi đang tự động hóa kịch bản thử nghiệm của mình với Cucumber, điều cần thiết là phải biết, chúng tôi có thể tạo báo cáo thử nghiệm Cucumber tốt hơn như thế nào. Như chúng ta biết rằng Cucumber là một khung BDD, nó không có cơ chế báo cáo ưa thích.

Để đạt được điều này, chúng ta cần tích hợp Cucumber với công cụ mã nguồn mở khác như Ant / Junit. Ở đây, chúng tôi sẽ lấy thêm các ví dụ về JUnit vì nó cung cấp hỗ trợ cho ngôn ngữ Java.

Hãy xem xét chi tiết của các định dạng báo cáo khác nhau, có sẵn và dễ sử dụng -

Định dạng Khá (Báo cáo HTML)

Pretty Format tạo báo cáo thử nghiệm Cucumber ở định dạng HTML, tức là một tệp HTML. Đây là định dạng báo cáo dễ đọc nhất. Nó tạo báo cáo theo cách giống như một tệp tính năng, vì vậy việc truy tìm cũng được thực hiện dễ dàng. Ngoài ra, bạn có thể chỉ định vị trí bạn muốn đặt báo cáo này sau khi thực hiện kiểm tra. Nó có thể là -

  • Local Directory - Chúng tôi có thể chỉ định thư mục đích cho báo cáo dưới dạng bất kỳ thư mục cục bộ nào của máy nơi thử nghiệm sẽ chạy.

  • Server Directory- Ngoài ra, chúng tôi có điều khoản chỉ định một thư mục đích là bất kỳ thư mục nào trên máy chủ, có thể truy cập công khai. Điều này thường hữu ích khi chúng tôi muốn khách hàng / các bên liên quan của mình xem kết quả kiểm tra tại bất kỳ thời điểm nào.

Thí dụ

Hãy tự động hóa một ví dụ về một định dạng đẹp.

Step 1 - Tạo một dự án Maven có tên cucumberReport trong Eclipse.

Step 2 - Tạo một gói có tên CucumberReport Dưới src/test/java

Step 3 - Tạo một tệp tính năng có tên cucumberReport.feature

Viết văn bản sau vào tệp và lưu nó.

Feature - Báo cáo dưa chuột

# Đây là để kiểm tra kết quả thử nghiệm cho trường hợp vượt qua thử nghiệm

Scenario: Chức năng đăng nhập tồn tại

Vì tôi đã mở trình duyệt

Khi tôi mở trang web Facebook

Sau đó, nút Đăng nhập sẽ tồn tại

# Đây là để kiểm tra kết quả thử nghiệm cho Trường hợp thử nghiệm không thành công

Scenario: Quên mật khẩu tồn tại

Vì tôi đã mở trình duyệt

Khi tôi mở trang web Facebook

Sau đó liên kết Quên mật khẩu sẽ tồn tại

Note- Ở đây kịch bản đầu tiên sẽ vượt qua, ngược lại kịch bản thứ hai sẽ thất bại. Để chúng ta có thể chứng kiến ​​báo cáo đạt và không thành công trông như thế nào.

Step 4 - Tạo tệp định nghĩa bước.

  • Chọn và nhấp chuột phải vào đường viền gói.

  • Nhấp vào tệp 'Mới'.

  • Đặt tên tệp là cucumberReport.java

  • Viết văn bản sau vào tệp và lưu nó.

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 - Tạo tệp lớp á hậu.

  • Tạo một lớp người chạy có tên runTest.java bên trong gói.

  • Viết đoạn mã sau. Lưu các tập tin.

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 { }
  • Chạy thử nghiệm bằng tùy chọn

    • Lựa chọn runTest.java tệp từ trình khám phá gói.

    • Nhấp chuột phải và chọn tùy chọn, Run as.

    • Chọn thử nghiệm JUnit.

Bạn sẽ quan sát thấy những điều sau đây khi bạn chạy tệp lớp này.

Cả hai kịch bản sẽ được thực hiện từng cái một.

Một thư mục có tên Đích sẽ được tạo bên trong thư mục đích.

Báo cáo sẽ có tên là “Index.html”.

Mở Index.html bằng trình duyệt web.

Bạn sẽ thấy báo cáo được đề cập trong hình ảnh sau:

Nó chính xác làm nổi bật màu sắc của kịch bản thất bại. Hơn nữa, bạn sẽ thấy điểm nổi bật cho bước thất bại trong kịch bản đó. Điều này làm cho việc gỡ lỗi rất dễ dàng.

Báo cáo JSON

Bây giờ chúng ta đã thấy báo cáo HTML dễ dàng như thế nào. Tuy nhiên, nếu chúng tôi muốn chuyển thông tin báo cáo này cho bất kỳ ứng dụng nào khác, đó là một điều khó khăn trong trường hợp báo cáo HTML. Ở đây cần có một định dạng báo cáo khác. Ký hiệu đối tượng tập lệnh JSON-Java là một định dạng khác để tạo báo cáo thử nghiệm Cucumber. JSON là một đối tượng chứa nhiều thông tin được lưu trữ dưới dạng văn bản. Báo cáo JSON mang lại một giá trị khác cho bảng. Báo cáo JSON cũng có thể được sử dụng như một khối lượng thông tin được chuyển giữa các máy chủ khác nhau. Hơn nữa, nó có thể được sử dụng để hiển thị dưới dạng một trang web. Tóm lại, các báo cáo JSON có thể được sử dụng bởi ứng dụng khác.

What is payload information?Khi dữ liệu được gửi qua Internet, mỗi đơn vị được truyền bao gồm cả thông tin tiêu đề và dữ liệu thực tế được gửi. Tiêu đề xác định nguồn và đích của gói, trong khi dữ liệu thực tế được gọi là tải trọng. Để tạo báo cáo JSON, chúng tôi chỉ cần thực hiện thay đổi trong tệp trình chạy.

  • Thay đổi tùy chọn định dạng trong tệp Á hậu như sau.

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 {}
  • Chạy thử nghiệm bằng cách sử dụng tùy chọn -

    • Lựa chọn runTest.java tệp từ trình khám phá gói.

    • Nhấp chuột phải và chọn tùy chọn Run as.

    • Chọn thử nghiệm JUnit.

  • Bạn sẽ quan sát thấy những điều sau đây khi bạn chạy tệp lớp này.

    • Cả hai kịch bản sẽ được thực hiện từng cái một.

  • Báo cáo sẽ có tên là cucumber.json (như được cung cấp trong lớp người chạy).

  • Mở cucumber.json tập tin bằng trình soạn thảo văn bản.

  • Bạn sẽ thấy báo cáo được đề cập trong ảnh chụp màn hình sau sau khi đặt ngắt dòng -

Note - JSON khó đọc hơn so với định dạng báo cáo HTML.