Mentimun - Laporan

Kami melakukan eksekusi uji untuk memahami kestabilan suatu produk, baik itu uji manual maupun uji otomatis, sangat penting untuk menghasilkan laporan ringkas yang dapat menggambarkan kestabilan suatu produk. Oleh karena itu, saat kami mengotomatiskan skenario pengujian kami dengan Ketimun, penting untuk mengetahui, seberapa baik kami dapat membuat laporan pengujian Ketimun kami. Seperti yang kita ketahui bahwa Mentimun adalah kerangka kerja BDD, ia tidak memiliki mekanisme pelaporan yang mewah.

Untuk mencapai ini, kita perlu mengintegrasikan Ketimun dengan alat sumber terbuka lainnya seperti Ant / Junit. Di sini, kita akan mengambil contoh JUnit lebih jauh karena JUnit menyediakan dukungan untuk bahasa Java.

Mari kita lihat detail dari berbagai format laporan, yang tersedia dan mudah digunakan -

Pretty Format (Laporan HTML)

Pretty Format menghasilkan laporan pengujian Ketimun dalam format HTML, yaitu file HTML. Ini adalah format laporan yang paling mudah dibaca. Ini menghasilkan laporan dengan cara yang sama seperti itu adalah file fitur, jadi pelacakan juga menjadi mudah. Selain itu, Anda dapat menentukan lokasi tempat Anda ingin meletakkan laporan ini setelah eksekusi uji. Bisa jadi -

  • Local Directory - Kita dapat menentukan direktori target untuk laporan sebagai direktori lokal manapun dari mesin tempat pengujian akan dijalankan.

  • Server Directory- Juga kami memiliki ketentuan untuk menentukan direktori target sebagai direktori apa pun di server, yang dapat diakses publik. Ini biasanya membantu ketika kami ingin klien / pemangku kepentingan kami melihat hasil tes pada titik waktu tertentu.

Contoh

Mari mengotomatiskan contoh format cantik.

Step 1 - Buat proyek Maven bernama cucumberReport di Eclipse.

Step 2 - Buat paket bernama CucumberReport dibawah src/test/java

Step 3 - Buat file fitur bernama cucumberReport.feature

Tulis teks berikut di dalam file dan simpan.

Feature - Laporan Mentimun

#Ini untuk memeriksa hasil tes untuk kasus tes Lulus

Scenario: Fungsionalitas login ada

Mengingat saya sudah membuka browser

Saat saya membuka situs Facebook

Maka tombol Login harus ada

#Ini untuk memeriksa hasil tes untuk kasus tes yang Gagal

Scenario: Lupa kata sandi ada

Mengingat saya sudah membuka browser

Saat saya membuka situs Facebook

Maka tautan Lupa kata sandi harus ada

Note- Di sini skenario pertama akan berlalu, sedangkan skenario kedua akan gagal. Sehingga kita bisa menyaksikan bagaimana laporan lolos dan gagal terlihat.

Step 4 - Buat file definisi langkah.

  • Pilih dan klik kanan pada garis besar paket.

  • Klik pada file 'Baru'.

  • Beri nama file sebagai cucumberReport.java

  • Tulis teks berikut di dalam file dan simpan.

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 - Buat file kelas runner.

  • Buat kelas pelari bernama runTest.java di dalam paket.

  • Tulis kode berikut. Simpan file.

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 { }
  • Jalankan pengujian menggunakan opsi

    • Pilih runTest.java file dari penjelajah paket.

    • Klik kanan dan pilih opsi, Run as.

    • Pilih uji JUnit.

Anda akan mengamati hal-hal berikut saat menjalankan file kelas ini.

Kedua skenario tersebut akan dieksekusi satu per satu.

Folder bernama Tujuan akan dibuat di dalam direktori target.

Laporan itu akan ada di sana bernama "Index.html".

Buka Index.html dengan browser web.

Anda akan melihat laporan yang disebutkan pada gambar berikut -

Ini persis menyoroti warna skenario gagal. Selain itu, Anda akan melihat sorotan untuk langkah gagal dalam skenario itu. Ini membuat proses debug menjadi sangat mudah.

Laporan JSON

Sekarang kita telah melihat betapa mudahnya laporan HTML. Namun, jika kami ingin meneruskan informasi laporan ini ke aplikasi lain, itu agak rumit dalam kasus laporan HTML. Di sinilah kebutuhan akan format pelaporan lain. Notasi objek skrip JSON-Java adalah format lain untuk menghasilkan laporan pengujian Ketimun. JSON adalah obyek yang mengandung banyak informasi yang disimpan dalam format teks. Laporan JSON membawa nilai yang berbeda ke tabel. Laporan JSON juga dapat digunakan sebagai muatan informasi untuk ditransfer antara server yang berbeda. Selanjutnya, ini dapat digunakan untuk ditampilkan sebagai halaman web. Singkatnya, laporan JSON dapat digunakan oleh aplikasi lain.

What is payload information?Ketika data dikirim melalui Internet, setiap unit yang dikirimkan mencakup informasi header dan data aktual yang sedang dikirim. Header mengidentifikasi sumber dan tujuan paket, sedangkan data aktual disebut sebagai payload. Untuk menghasilkan laporan JSON, kita hanya perlu melakukan perubahan pada file runner.

  • Ubah opsi format di file runner sebagai berikut.

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 {}
  • Jalankan tes menggunakan opsi -

    • Pilih runTest.java file dari penjelajah paket.

    • Klik kanan dan pilih opsi Run as.

    • Pilih uji JUnit.

  • Anda akan mengamati hal-hal berikut saat menjalankan file kelas ini.

    • Kedua skenario tersebut akan dieksekusi satu per satu.

  • Laporan itu akan ada di sana bernama cucumber.json (seperti yang disediakan di kelas pelari).

  • Buka cucumber.json file dengan editor teks.

  • Anda akan melihat laporan yang disebutkan di tangkapan layar berikut setelah menempatkan jeda baris -

Note - JSON kurang terbaca dibandingkan dengan format laporan HTML.