Mentimun - Fitur

SEBUAH Featuredapat didefinisikan sebagai unit atau fungsi mandiri dari suatu proyek. Mari kita ambil contoh yang sangat umum dari situs jejaring sosial. Bagaimana tampilan fitur produk / proyek ini? Beberapa fitur dasar dapat ditentukan sebagai -

  • Membuat dan menghapus pengguna dari situs jejaring sosial.

  • Fungsionalitas login pengguna untuk situs jejaring sosial.

  • Berbagi foto atau video di situs jejaring sosial.

  • Mengirim permintaan pertemanan.

  • Logout.

Sekarang, jelas bahwa, setiap fungsi independen dari produk yang diuji dapat disebut sebagai fitur ketika kita berbicara tentang Mentimun. Ini adalah praktik terbaik nanti saat Anda memulai pengujian, bahwa sebelum mendapatkan skrip pengujian, kami harus menentukan fitur yang akan diuji.

Sebuah fitur biasanya berisi daftar skenario yang akan diuji untuk fitur tersebut. File tempat kami menyimpan fitur, deskripsi tentang fitur, dan skenario yang akan diuji dikenal sebagaiFeature File. Kita akan melihat lebih banyak tentang file fitur di bab berikutnya.

Kata kunci untuk mewakili fitur yang sedang diuji di Gherkins adalah "Fitur". Praktik terbaik yang disarankan adalah menulis deskripsi kecil tentang fitur di bawah judul fitur di file fitur. Ini akan memenuhi kebutuhan dokumentasi yang baik juga.

Contoh

Feature - Fungsi Login untuk situs jejaring sosial.

Pengguna harus dapat masuk ke situs jejaring sosial jika nama pengguna dan kata sandi benar.

Pengguna harus diperlihatkan pesan kesalahan jika nama pengguna dan kata sandi salah.

Pengguna harus dinavigasi ke halaman beranda, jika nama pengguna dan kata sandi benar.

File Fitur

File, di mana tes Ketimun ditulis, dikenal sebagai feature files. Sebaiknya ada file fitur terpisah, untuk setiap fitur yang diuji. Ekstensi dari file fitur harus ".feature".

Seseorang dapat membuat file fitur sebanyak yang dibutuhkan. Untuk memiliki struktur yang teratur, setiap fitur harus memiliki satu file fitur.

Sebagai Contoh -

Sr Tidak Fitur Fitur Nama file
1 Login Pengguna userLogin.feature
2 Bagikan Posting sharePost.feature
3 Buat Akun createAccount.feature
4 Hapus akun deleteAccount.feature

Konvensi penamaan yang akan digunakan untuk nama fitur, nama file fitur tergantung pada pilihan individu. Tidak ada aturan dasar di Ketimun tentang nama.

File fitur sederhana terdiri dari kata kunci / bagian berikut -

  • Feature - Nama fitur yang diuji.

  • Description (opsional) - Jelaskan tentang fitur yang diuji.

  • Scenario - Apa skenario pengujiannya.

  • Given - Prasyarat sebelum langkah pengujian dijalankan.

  • When - Kondisi khusus yang harus cocok untuk menjalankan langkah selanjutnya.

  • Then - Apa yang akan terjadi jika kondisi yang disebutkan dalam WHEN terpenuhi.

Contoh

Feature - Login pengguna di situs jejaring sosial.

Pengguna harus dapat masuk ke situs jejaring sosial jika nama pengguna dan kata sandi benar.

Pengguna harus ditunjukkan pesan kesalahan saat nama pengguna dan kata sandi salah.

Pengguna harus dinavigasi ke halaman beranda jika nama pengguna dan kata sandi benar.

Outline - Fungsi Login untuk situs jejaring sosial.

Pengguna tertentu menavigasi ke Facebook. Ketika saya memasukkan Nama Pengguna sebagai "<username>" dan Kata Sandi sebagai "<password>". Kemudian, login seharusnya tidak berhasil.

| username  | password  |
| username1 | password1 |

* AND kata kunci digunakan untuk menunjukkan hubungan antara dua kondisi. AND dapat digunakan dengan kata kunci lain seperti GIVEN, WHEN dan THEN.

Tidak ada detail logika yang tertulis di file fitur.

Definisi Langkah

Kami telah menyiapkan file fitur kami dengan skenario pengujian yang ditentukan. Namun, ini belum selesai. Mentimun tidak benar-benar tahu bagian kode mana yang akan dieksekusi untuk skenario tertentu yang diuraikan dalam file fitur.

Ini menyebut kebutuhan akan file Definisi Langkah menengah. File definisi langkah menyimpan pemetaan antara setiap langkah dari skenario yang ditentukan dalam file fitur dengan kode fungsi yang akan dijalankan.

Jadi, sekarang ketika Mentimun menjalankan langkah dari skenario yang disebutkan dalam file fitur, itu memindai file definisi langkah dan mencari tahu fungsi mana yang akan dipanggil.

Contoh File Definisi Langkah

public void goToFacebook() { 
   driver = new FirefoxDriver(); 
   driver.navigate().to("https://www.facebook.com/"); 
} 
@When "^user logs in using Username as \"([^\"]*)\" and Password as \"([^\"]*)\"$"
public void I_enter_Username_as_and_Password_as(String arg1, String arg2) {
   driver.findElement(By.id("email")).sendKeys(arg1);
   driver.findElement(By.id("pass")).sendKeys(arg2);
   driver.findElement(By.id("u_0_v")).click(); 
} 
@Then"^login should be unsuccessful$" 
public void validateRelogin() { 
   if(driver.getCurrentUrl().equalsIgnoreCase(
      "https://www.facebook.com/login.php?login_attempt=1&lwv=110")){ 
         System.out.println("Test Pass");
   } else { 
      System.out.println("Test Failed"); 
   } 
   driver.close(); 
}

Jadi dengan setiap fungsi, kode apa pun yang ingin Anda jalankan dengan setiap langkah pengujian (yaitu DIBERIKAN / KEMUDIAN / KAPAN), Anda dapat menulisnya dalam file Definisi Langkah. Pastikan bahwa kode / fungsi telah ditentukan untuk setiap langkah.

Fungsi ini dapat berupa fungsi Java, di mana kita dapat menggunakan perintah Java dan Selenium untuk mengotomatiskan langkah pengujian kita.