Grup TestNG: Sertakan, Kecualikan dengan Contoh - Tutorial Selenium

Daftar Isi:

Anonim

TestNG adalah framework Pengujian yang mencakup berbagai jenis desain pengujian seperti unit, fungsional, ujung ke ujung, UI, dan pengujian integrasi.

Anda dapat menjalankan satu atau beberapa paket (paket di sini berarti merangkum sekelompok kelas dalam format direktur yang tepat) dengan membuat XML dan menjalankannya melalui maven.

Dalam tutorial ini, Anda akan belajar-

  • Grup TestNG dengan Contoh
  • Set maven dan jalur Java di variabel lingkungan (untuk pengguna windows)
  • Pengenalan XML dan cara membuat file XML
  • Mekanisme lain selain Pengelompokan adalah "mengecualikan" atau "menyertakan" dalam XML uji
  • Cara menjalankan kode menggunakan file XML (video demo)

Grup TestNG dengan Contoh

Kami menggunakan grup di Testng ketika,

  • Kami tidak ingin mendefinisikan metode pengujian secara terpisah di kelas yang berbeda (bergantung pada fungsionalitas) dan
  • Pada saat yang sama ingin mengabaikan (tidak mengeksekusi) beberapa kasus uji seolah-olah tidak ada dalam kode.
  • Jadi untuk melakukan ini kita harus mengelompokkan mereka. Ini dilakukan dengan menggunakan mekanisme "sertakan" dan "kecualikan" yang didukung di testNG.

Dalam contoh di bawah ini, kami telah menunjukkan sintaks tentang cara menggunakan grup dalam file XML.

@Test (grup = {"bonding", "strong_ties"}) 

Di sini kami menggunakan 2 nama grup yaitu "bonding" dan "strong_ties" (ini adalah nama logis yang dapat diubah sesuai keinginan Anda).

Tag mendefinisikan awal grup dalam XML.

Sesuaikan XML Anda untuk memilih grup yang disebutkan dari kelas pengujian. Di bawah ini disebutkan adalah sintaks bagaimana mendeklarasikan grup dalam file XML misalnya

Jadi, mari kita asumsikan bahwa ada 10 metode pengujian dalam sebuah kelas.

Dari mereka,

  • 6 metode ditandai dalam "ikatan" grup dan
  • 4 berada di grup "strong_ties"

Selanjutnya, kita akan menyetel maven / jalur Java dan menggunakan Eclipse IDE untuk mendemonstrasikan penggunaan grup menggunakan file XML dalam proyek maven berbasis Java.

Set maven dan jalur Java di variabel lingkungan (untuk pengguna windows)

Silakan lihat https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html

https://www.guru99.com/install-java.html

Pengenalan XML dan cara membuat file XML

  • File XML (Extensible Markup Language) dalam kerangka kerja Maven berisi informasi dari satu atau lebih pengujian dan ditentukan oleh tag .
  • Informasi pengujian dalam XML diwakili oleh tag dan dapat berisi satu atau lebih kelas TestNG.
  • Kelas Java yang berisi anotasi @Test di atas metode pengujian didefinisikan sebagai metode TestNG.

Beberapa tag digunakan secara berurutan untuk membangun testNG xml yang berfungsi seperti , dan

  • Pertama adalah tag , yang menyimpan nama logis yang mendefinisikan informasi lengkap untuk testNG yang dilaporkan untuk menghasilkan laporan eksekusi.
  • Kedua adalah , perhatikan itu adalah nama logis yang menyimpan informasi laporan pelaksanaan tes seperti lulus, gagal, melewati kasus tes dan informasi lain seperti total waktu untuk pelaksanaan dan info grup
  • Ketiga adalah , com.group.guru99 adalah paket yang digunakan, dan nama Test Class adalah TC_Class1.

Kami akan menggunakan XML ini untuk downside video yang akan datang.

Mekanisme lain selain Pengelompokan adalah "kecualikan" atau "sertakan" dalam XML uji

Misalkan Anda menemukan penggunaan kompleks mekanisme grup maka XML testNG memfasilitasi fungsionalitas untuk mengecualikan / menyertakan tes.

Kecualikan Tag : Sintaks untuk mengecualikan tag  Sertakan Tag : Sintaks untuk menyertakan tag 

Catatan: Kami dapat menyertakan / mengecualikan beberapa kasus uji sekaligus, dan berfungsi dengan Grup juga.

Cara menjalankan kode menggunakan file XML (video demo)

Penjelasan Kode Java dan XML dengan grup, kecualikan dan sertakan tag dalam XML.

  • Skenario : Luncurkan situs demo Banking Guru99, verifikasi beberapa hal di halaman login setelah itu masukkan kredensial dan verifikasi ulang beberapa hal baru di aplikasi saat login.

Catatan : Setiap langkah yang Anda kodekan harus dideklarasikan dalam metode terpisah, tetapi ketika dijalankan, itu akan menjalankan metode pengujian tergantung pada entri dalam file XML.

Metode 1 : Inisialisasi Browser dan luncurkan URL (tc01LaunchURL ())

Metode 2 : Verifikasi Judul Halaman Masuk (tc02VerifyLaunchPage ())

Metode 3 : Masukkan nama pengguna dan Kata Sandi pada formulir login (tc03EnterCredentials ())

Metode 4 : Verifikasi keberadaan ID Manajer di Dasbor Pengguna (tc04VerifyLoggedInPage ())

Metode 5 : Verifikasi beberapa tautan lagi di Dasbor Pengguna (tc05VerifyHyperlinks ())

Kode untuk skenario kami:

paket com.group.guru99;import java.util.concurrent.TimeUnit;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;impor org.openqa.selenium.firefox.FirefoxDriver;import org.testng.Assert;import org.testng.annotations.Test;kelas publik TC_Class1 {publik webDriver akhir statis statis = baru FirefoxDriver () ;;String launchPageHeading = "// h3 [text () = 'Guru99 Bank']";String akhir userName_element = "// input [@ name = 'uid']", password_element = "// input [@ name = 'password']",signIn_element = "// masukan [@ name = 'btnLogin']";String terakhir userName_value = "mngr28642", password_value = "ydAnate";final String managerID = "// td [berisi (text (), 'Manger Id')]";String terakhir newCustomer = "//a[@href='addcustomerpage.php ']", fundTransfer = "//a[@href='FundTransInput.php']";/ *** Kasus uji ini akan menginisialisasi webDriver* /@Test (grup = {"bonding", "strong_ties"})public void tc01LaunchURL () {webDriver.manage (). window (). maksimalkan ();webDriver.manage (). timeout (). implicitlyWait (20, TimeUnit.SECONDS);webDriver.get ("http://www.demo.guru99.com/V4/");}/ *** Akan memeriksa keberadaan Heading di Halaman Login* /@Test (grup = {"bonding"})public void tc02VerifyLaunchPage () {Assert.assertTrue (webDriver.findElement (By.xpath (launchPageHeading)). IsDisplayed (),"Judul Halaman Beranda tidak ditampilkan");System.out.println ("Judul Halaman Beranda ditampilkan");}/ *** Kasus uji ini akan memasukkan Nama pengguna, kata sandi dan kemudian akan diklik* tombol masuk* /@Test (grup = {"bonding", "strong_ties"})public void tc03EnterCredentials () {webDriver.findElement (By.xpath (userName_element)). sendKeys (userName_value);webDriver.findElement (By.xpath (password_element)). sendKeys (password_value);webDriver.findElement (By.xpath (signIn_element)). click ();}/ *** Kasus uji ini akan memverifikasi keberadaan ID palungan di DashBoard* /@Test (grup = {"strong_ties"})public void tc04VerifyLoggedInPage () {Assert.assertTrue (webDriver.findElement (By.xpath (managerID)). IsDisplayed (),"Label ID Manajer tidak ditampilkan");System.out.println ("Label Id Palungan ditampilkan");}/ *** Kasus uji ini akan memeriksa keberadaan tautan pelanggan baru* Dan tautan Transfer Dana di pannel Kiri* /@Test (grup = {"bonding"})public void tc05VerifyHyperlinks () {Assert.assertTrue (webDriver.findElement (By.xpath (newCustomer)). IsEnabled (),"Tautan pelanggan baru tidak ditampilkan");System.out.println ("Hyperlink pelanggan baru ditampilkan");Assert.assertTrue (webDriver.findElement (By.xpath (fundTransfer)). IsEnabled (),"Tautan Transfer Dana tidak ditampilkan");System.out.println ("hyperlink Transfer Dana ditampilkan");}}

Harap Dicatat: Kredensial hanya berlaku selama 20 hari, jadi jika Anda mencoba menjalankan kode di komputer lokal Anda, jadi Anda mungkin menghadapi kesalahan kredensial yang tidak valid. Temukan langkah-langkah di bawah ini untuk menghasilkan kredensial login Anda:

  1. Luncurkan http://www.demo.guru99.com
  2. Masukkan id email Anda di dalam kotak.
  3. Klik enter dan lihat detail login Anda di layar.

Penjelasan Kode:

Seperti disebutkan di atas, kami telah membuat 5 kasus uji untuk melakukan setiap tindakan dalam metode independen.

Anda dapat mengamati bahwa untuk setiap metode, kami telah mengaitkan parameter grup yang memiliki beberapa nilai di dalamnya.

Pada dasarnya, ini adalah nama kelompok pembeda yaitu "strong_ties" & "bonding".

  • Metode Pertama dan Ketiga diberi tag ke "bonding", "strong_ties" yang berarti jika XML diperbarui di salah satu grup, Kasus Uji ini akan berjalan.
  • Metode kedua hanya di-tag ke grup "bonding" artinya jika XML diupdate dengan grup bonding. Hanya dalam kasus itu kasus uji ini akan berjalan.
  • Kasus Uji Keempat diberi tag ke grup strong_ties, yang berarti kasus uji ini hanya akan berjalan jika XML diperbarui dengan nama grup strong_ties.
  • Kasus uji kelima terakhir namun tidak kalah pentingnya dilampirkan ke grup pengikat, yang berarti kasus pengujian ini hanya akan berjalan jika XML diperbarui dengan nama grup pengikat.

Jadi secara keseluruhan, kami memiliki 4 skenario;

  1. Kami ingin menjalankan semua kasus pengujian terlepas dari nama grupnya. Dalam kasus ini, kami akan menghapus tag Grup dari menjalankan XML.
  1. Kami ingin menjalankan test case beberapa test yang hanya terkait dengan salah satu grup yaitu strong_ties atau bonding
  • Silakan lihat:

  • Dalam video ini, parameter Grup dikomentari saat menjalankan XML. Karenanya, Anda akan melihat semua kasus uji dijalankan.
  • Sebagai kelanjutan dari video, sekarang kami telah memasukkan nama grup dalam XML, Anda hanya dapat melihat kasus pengujian khusus untuk grup itu yang sedang berjalan.
  1. Kami menggunakan mekanisme Kecualikan untuk mengecualikan kasus uji:
  • Silakan lihat

  • Anda lihat bahwa kami telah menggunakan exclude few test case (tc02) dengan menuliskan namanya dalam menjalankan XML. Dalam hasil akhir disebutkan kasus uji tidak berjalan.
  1. Terakhir, kami menggunakan mekanisme uji coba untuk menyertakan kasus uji (tc01LaunchURL, tc03EnterCredentials, dan tc05VerifyHyperlinks)
    • Silakan lihat

    • Dalam video ini, Anda akan melihat bahwa kasus pengujian yang disebutkan dalam XML hanya berjalan selama eksekusi pengujian.

    Silakan unduh kode dari URL yang disebutkan, itu akan berisi semua jenis testXML:

    Unduh Kode di atas

    Kesimpulan

    Di sini kita telah mempelajari cara yang relatif baru untuk menjalankan kasus uji menggunakan XML dalam proyek Maven.

    Kami mulai dengan memberikan pengantar singkat tentang testNG dan dilanjutkan dengan spesifikasi teknis lengkap dari Grup, mengecualikan dan menyertakan.