Selenium WebDriver: TestNG Untuk Manajemen Kasus Uji & Pembuatan Laporan



Tutorial Selenium WebDriver ini akan membantu Anda memahami perlunya menggunakan TestNG dengan Selenium untuk mengelola kasus pengujian dan membuat laporan pengujian terperinci.

Di blog sebelumnya, saya mengajari Anda cara menjalankan tes Selenium WebDriver pertama Anda. Di blog ini, saya akan membahas konsep Selenium WebDriver tingkat lanjut. Saya telah menyebutkan beberapa kali bahwa Selenium WebDriver memiliki keterbatasan sehubungan dengan manajemen kasus pengujian dan pembuatan laporan pengujian. Jadi apa alternatifnya? Alat sepopuler Selenium pasti punya solusinya bukan? Tentu saja! Kita bisa menggunakan kombinasi Selenium dan TestNG untuk mengatasi batasan ini dan itu akan menjadi topik pembahasan blog ini.

c ++ fibonacci rekursif

Jika Anda baru mengenal Selenium, dan ingin pengenalan konsep dasar, Anda dapat memulai perjalanan Anda dari sini: ? Namun, yang lain dapat memulai TestNG untuk Selenium dari blog ini.Anda juga harus tahu bahwa organisasi secara aktif mencari profesional dengan , menjadikannya keterampilan yang penting untuk dikuasai penguji perangkat lunak.





Pengembang perangkat lunak dari seluruh dunia dengan suara bulat akan setuju bahwa menulis kode dalam kasus uji menghemat sebagian besar waktu debugging mereka. Mengapa? Itu karena kasus uji membantu dalam membuat kode yang kuat dan bebas kesalahan. Bagaimana cara melakukannya? Dengan memecah seluruh kode menjadi kasus uji yang lebih kecil, dan kemudian dengan mengevaluasi setiap kasus uji ini ke kondisi lulus / gagal, kita dapat membuat kode bebas kesalahan. Karena Selenium tidak mendukung eksekusi kode dalam kasus uji, kami harus menggunakan TestNG untuk hal yang sama. Di sinilah TestNG cocok dengan kerangka Selenium.

TestNG berdiri untuk Uji Generasi Berikutnya dan ini adalah kerangka kerja otomatisasi pengujian sumber terbuka yang terinspirasi oleh JUnit dan NUnit. Nah, bukan hanya terinspirasi, tetapi peningkatan ke dua kerangka kerja itu. Jadi Anda mungkin bertanya apa peningkatan di sini?Peningkatan dengan TestNG adalah menyediakan fungsionalitas tambahan seperti: anotasi pengujian, pengelompokan, prioritas, parameterisasi dan teknik pengurutan dalam kode yang sebelumnya tidak mungkin dilakukan.



Selain mengelola kasus pengujian, bahkan laporan pengujian terperinci dapat diperoleh dengan menggunakan TestNG. Akan ada ringkasan yang menampilkan kasus uji yang gagal, bersama dengan grup yang menjadi bagiannya, dan kelas tempatnya berada. Ketika bug dapat ditemukan secara akurat seperti ini, mereka dapat segera diperbaiki untuk bantuan pengembang. Gambar di bawah ini menggambarkan cara kerja TestNG.

testng - selenium webdriver

Jadi, bagaimana TestNG menyelesaikan pekerjaannya? Pertanyaan ini akan dijawab dalambagian selanjutnya dari blog tutorial Selenium WebDriver ini, di mana saya akan membahas cara mengelola berbagai kasus pengujian dengan menggunakan TestNG.



Selenium WebDriver Dengan TestNG

Kasus uji dapat ditentukan dan dikelola dengan salah satu cara berikut:

  1. Uji Anotasi
  2. Prioritas
  3. Menonaktifkan Kasus Uji
  4. Ketergantungan Metode
  5. Pengelompokan
  6. Pernyataan
  7. Pembuatan Laporan

Biarkan saya mulai menjelaskanmasing-masing fungsi tersebut.

Uji Anotasi

Pertama-tama, tanyakan pada diri sendiri pertanyaan ini: Mengapa kita perlu menggunakan anotasi? Kapan kita bisa menggunakannya? Penjelasan dalam Selenium digunakan untuk mengontrol metode selanjutnya yang akan dijalankan. Anotasi pengujian ditentukan sebelum setiap metode dalam kode pengujian. Jika ada metode yang tidak diawali dengan anotasi, maka metode itu akan diabaikan dan tidak dijalankan sebagai bagian dari kode pengujian. Untuk mendefinisikannya, metode hanya perlu dianotasi dengan ' @Uji '. Lihat cuplikan kode di bawah ini sebagai contoh.

paket testng import org.openqa.selenium.WebDriver import org.openqa.selenium.firefox.FirefoxDriver import org.testng.annotations.AfterClass import org.testng.annotations.AfterMethod import org.testng.annotations.BeforeClass import org.testng.annotations .BeforeMethod import org.testng.annotations.Test kelas publik TestAnnotations {@Test public void myTestMethod () {System.out.println ('Metode dalam: - myTestMethod') Driver WebDriver = baru FirefoxDriver () driver.get ('http: //www.seleniumframework.com/Practiceform/ ') String title = driver.getTitle () System.out.println (title) driver.quit ()} @BeforeMethod public void beforeMethod () {System.out.println (' Ini potongan kode dijalankan sebelum metode: - myTestMethod ') System.setProperty (' webdriver.gecko.driver ',' C: UsersVardhanworkspaceSeleniumProjectfilesgeckodriver.exe ')} @AfterMethod public void afterMethod () {System.out.println (' Potongan ini kode dijalankan setelah metode: - myTestMethod ')} @BeforeClass public void beforeClass () {Syste m.out.println ('Potongan kode ini dijalankan sebelum kelas dijalankan')} @AfterClass public void afterClass () {System.out.println ('Potongan kode ini dijalankan setelah kelas dijalankan')} }

Dalam kode di atas, Anda akan memperhatikan bahwa saya belum mendefinisikan metode 'utama'. Namun, saya memiliki 5 metode lain yang ditentukan. Mereka adalah 'myTestMethod', 'beforeMethod', 'afterMethod', 'beforeClass' dan 'afterClass'. Juga, catat urutan definisi metode dalam kode karena mereka tidak akan dieksekusi dalam urutan yang sama.

Metode 'myTestMethod' dianotasi dengan @Uji , dan ini adalah metode utama atau potongan kode yang harus dieksekusi. Metode beranotasi lainnya akan dijalankan sebelum dan sesudah metode ini dijalankan. Karena ‘beforeMethod’ dianotasi dengan @Tokopedia , ini akan dijalankan sebelum 'myTestMethod' dijalankan. Demikian pula, 'afterMethod' dianotasi dengan @Afterhod , dan karenanya akan dijalankan setelah 'myTestMethod'.

Namun, 'beforeClass' dianotasi dengan @Sebelum kelas , yang berarti itu akan dijalankan bahkan sebelum kelas itu sendiri dijalankan. Nama kelas kami di sini adalah TestAnnotations , dan dengan demikian sebelum kelas mulai dieksekusi, potongan kode di dalam 'beforeClass' akan dieksekusi. Demikian pula, 'afterClass' dianotasi dengan @Afterhod , dan dengan demikian akan dieksekusi setelah kelas TestAnnotations dieksekusi.

Jika Anda masih bingung tentang urutan eksekusi, maka potongan di bawah ini pasti akan membantu Anda.

1. BeforeSuite 2. BeforeTest 3. BeforeClass 4. BeforeMethod 5. Test 6. AfterMethod 7. AfterClass 8. AfterTest 9. AfterSuite

Output dari kode di atas adalah:

Potongan kode ini dijalankan sebelum kelas dijalankan Potongan kode ini dijalankan sebelum metode: - myTestMethod Metode di dalam: - myTestMethod 1493192682118 INFO geckodriver Mendengarkan di 127.0.0.1:13676 1493192682713 mozprofile :: profil INFO Menggunakan jalur profil C: UsersVardhanAppDataLocalTemp ust_mozprofile .wGkcwvwXkl2y 1493192682729 geckodriver :: marionette INFO Memulai browser C: Program Files (x86) Mozilla Firefoxirefox.exe 1493192682729 geckodriver :: marionette INFO Menghubungkan ke Marionette di localhost: 59792 [GPU 6152] PERINGATAN: kesalahan pipa: 109: file c: / build /moz2_slave/m-rel-w32-00000000000000000000/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, baris 346 1493192688316 Marionette INFO Mendengarkan di port 59792 26 Apr 2017 1:14:49 PM org. openqa.selenium.remote.ProtocolHandshake createSession INFO: Detected dialect: W3C JavaScript error: http://t.dtscout.com/i/?l=http%3A%2F%2Fwww.seleniumframework.com%2FPracticeform%2F&j=, line 1: TypeError: document.getElementsByTagNa saya (...) [0] tidak terdefinisi Selenium Framework | Formulir praktik 1493192695134 INFO Marionette Koneksi baru tidak akan diterima lagi 26 Apr 2017 1:14:57 org.openqa.selenium.os.UnixProcess menghancurkan PULUH: Tidak dapat mematikan proses dengan PID 6724 Potongan kode ini dijalankan setelah metode: - myTestMethod Potongan kode ini dijalankan setelah kelas dijalankan PASSED: myTestMethod =================================== ============ Tes default Tes dijalankan: 1, Kegagalan: 0, Lewati: 0 ======================== ======================= =========================== ==================== Suite default Total tes yang dijalankan: 1, Kegagalan: 0, Lewati: 0 =============== ================================

Seperti yang Anda lihat dari output di atas, jumlah tes yang dijalankan adalah 1 dan gagal adalah 0. Ini berarti kode berhasil. Bahkan urutan eksekusi metode akan teratursayadisebutkan sebelumnya.

Saat Anda menjalankan kode ini di mesin Anda, Selenium WebDriver akan membuat instance browser Firefox Anda, menavigasi ke formulir praktik Selenium Framework, menutup instance browser dan menampilkan output yang sama seperti yang ditunjukkan di atas di Eclipse IDE Anda.

Saya hanya menggunakan 5 penjelasan berbeda dalam kode saya. Tetapi masih banyak lagi penjelasan yang dapat digunakan untuk mengontrol metode selanjutnya yang akan dijalankan. Seluruh daftar anotasi dijelaskan dimejadi bawah:

@Tokopedia - Metode yang dijelaskan @Tokopedia akan dijalankan sebelum semua pengujian di suite tersebut dijalankan.

@Setelah - Metode yang dijelaskan @Setelah akan dijalankan setelah semua pengujian di suite tersebut dijalankan.

@Sebelumnya - Metode yang dijelaskan @Sebelumnya akan berjalan sebelum metode pengujian apa pun yang termasuk dalam kelas dijalankan.

@Setelah - Metode yang dijelaskan @Setelah akan dijalankan setelah semua metode pengujian milik kelas telah dijalankan.

@Tokopedia - Metode yang dijelaskan @Tokopedia akan dijalankan sebelum setiap grup dijalankan.

@SetelahIklan - Metode yang dijelaskan @SetelahIklan akan dijalankan setelah setiap grup dijalankan.

@Sebelum kelas - Metode yang dijelaskan @Sebelum kelas akan berjalan sekali sebelum metode pengujian pertama di kelas saat ini dipanggil.

@Afterlass - Metode yang dijelaskan @Afterlass akan berjalan sekali setelah semua metode pengujian di kelas saat ini dijalankan.

@Tokopedia - Metode yang dijelaskan @Tokopedia akan berjalan sebelum metode pengujian apa pun di dalam kelas dijalankan.

@Afterhod - Metode yang dijelaskan @Afterhod akan berjalan setelah setiap metode pengujian di dalam kelas dijalankan.

@Uji - Metode yang dijelaskan @Uji adalah metode pengujian utama di seluruh program. Metode beranotasi lainnya akan dijalankan di sekitar metode ini.

Tangkapan layar dari laporan TestNG adalahhadir di bawah ini: -

Prioritas

Kami berbicara tentang bagaimana berbagai metode yang dapat didefinisikan sedemikian rupa sehingga dieksekusi di sekitar file @Uji metode. Tetapi, bagaimana jika Anda memiliki lebih dari satu @Uji metode dan Anda ingin menentukan urutan eksekusi di antara mereka?

Kalau begitu, kita bisaP.merioritasikan mereka dengan menetapkan nomor ke kasus uji beranotasi. Semakin kecil angkanya, semakin tinggi prioritasnya. Prioritas dapat ditetapkan sebagai parameter saat menentukan kasus uji. Namun, jika tidak ada prioritas yang ditetapkan, maka metode pengujian beranotasi akan dijalankan sesuai urutan alfabetis pengujian. Lihatlah parameter anotasi pengujian di bagian bawahkode.

@Test (Prioritas = 2) public static void FirstTest () {system.out.println ('Ini adalah Uji Kasus nomor Dua karena Prioritas # 2')} @Test (Prioritas = 1) public static void SecondTest () { system.out.println ('Ini adalah Uji Kasus nomor Satu karena Prioritas # 1')} @Test public static void FinalTest () {system.out.println ('Ini adalah Kasus Uji Terakhir karena tidak ada Prioritas' )}

Menonaktifkan Kasus Uji

Biar saya tunjukkan sesuatu yang lebih menarik. Bagaimana jika Anda memiliki kode yang mencakup satu juta baris, terdiri dari ratusan kasus pengujian, dan Anda hanya ingin menonaktifkan satu metode pengujian? Anda tidak perlu menghapus bagian mana pun dari kode tersebut, kami cukup menonaktifkan metode pengujian itu.

Tindakan menonaktifkan kasus uji juga dilakukan melalui parameter. Kita bisa mengatur diaktifkan atribut ke 'false'. Secara default, semua kasus pengujian akan diaktifkan, oleh karena itu kami tidak perlu menentukannya setiap kali kami menulis pengujian. Lihatlah parameter dari metode ketiga dan keempat pada bagian di bawah inikode.

bagaimana mengubah ganda menjadi int di java
@Test (Prioritas = 2, diaktifkan = Benar) public static void FirstTest () {system.out.println ('Ini adalah Kasus Uji nomor Dua karena Prioritas # 2')} @Test (Prioritas = 1, diaktifkan = Benar ) public static void SecondTest () {system.out.println ('Ini adalah Test Case nomor Satu karena Prioritas # 1')} @Test (enabled = false) public static void SkippedTest () {system.out.println ( 'Ini adalah Kasus Uji yang Dilewati karena ini telah dinonaktifkan')} @Test (diaktifkan = Benar) public static void FinalTest () {system.out.println ('Ini adalah Kasus Uji Terakhir, yang diaktifkan dan tidak memiliki Prioritas ')}

Ketergantungan Metode

Sekarang jika Anda memiliki situasi di mana, Anda ingin sepotong kode dieksekusi hanya jika memenuhi suatu kondisi atau hanya jika metode tertentu berhasil dijalankan, maka kita dapat melakukannya dengan menggunakan dependOnMethod (). Ini pada dasarnya adalah kondisi ketergantungan metode di mana metode akan dijalankan tergantung pada metode lain. Jika kita juga mengatur selalu berlari atribut ke true, maka metode akan dijalankan terlepas dari kondisi gagal / lulus dari metode bergantung. Lihat kode di potongan kode di bawah ini.

@Test public static void FirstTest () {system.out.println ('Ini adalah Test Case pertama yang akan dijalankan')} @Test (dependentOnMethods = {'FirstTest'}) public static void SecondTest () {system.out. println ('Ini adalah Kasus Uji kedua yang akan dijalankan Ini adalah metode yang bergantung')} @Test (tergantungOnMethods = {'SecondTest'}) public static void FinalTest () {system.out.println ('Ini adalah Tes Terakhir Kasus Ini akan tetap dijalankan. ')}

Sekarang, ini membawa kita ke aspek penting lainnya dalam ujianpenjelasan yang mana Pengelompokan .

Pengelompokan

Sekarang Anda harus tahu bahwa akan ada sejumlah metode sebagai bagian dari kasus pengujian kami dalam kode. Misalkan ada 100 kasus pengujian, tetapi kami hanya ingin menjalankan 20 kasus pengujian di pengujian berikutnya. Apa menurutmu kita bisa melakukan itu? Tentu kita bisa.

Kita bisa gunakan kelompok atribut untuk tujuan ini. Kami dapat menetapkan nama grup ke sejumlah kasus uji dan kemudian memilih untuk mengeksekusi grup alih-alih seluruh kode. Lihat cuplikan kode di bawah ini untuk memahamicara membuat grup.

@Test (groups = {'MyGroup'}) public static void FirstTest () {system.out.println ('Ini adalah bagian dari Grup: MyGroup')} @Test (groups = {'MyGroup'}) public static void SecondTest () {system.out.println ('Ini juga merupakan bagian dari Grup: MyGroup')} @Test public static void ThirdTest () {system.out.println ('Tapi, ini bukan bagian dari Grup: MyGroup ')}

TestNG Assertions

Ini sekarang membawa kita ke topik berikutnya di TestNG yang merupakan pernyataan. Seperti namanya, pernyataan dapat digunakan dalam metode pengujian untuk menentukan kondisi lulus / gagal suatu pengujian. Berdasarkan kondisi benar / salah dari sebuah pernyataan, pengujian akan lulus / gagal.

Pada kode di bawah ini saya sudah mencantumkan 3 metode pengujian, dimana metode pertama dan ketiga memiliki kondisi lulus dan metode kedua akan mengalami kondisi gagal. Lihat kodenya sendiri.

paket testng import org.testng.annotations.Test import org.testng.annotations.BeforeMethod import org.openqa.selenium.WebDriver import org.openqa.selenium.firefox.FirefoxDriver import org.testng.Assert import org.testng.annotations.AfterMethod public class Assertions {@BeforeMethod public void beforeMethod () {System.setProperty ('webdriver.gecko.driver', 'C: UsersVardhanworkspaceSeleniumProjectfilesgeckodriver.exe')} public boolean isEqual (int a, int b) {if (a == b ) {return true} else {return false}} @Test public void testEquality1 () {Assert.assertEquals (true, isEqual (10, 10)) System.out.println ('This is a pass condition')} @Test public void testEquality2 () {Assert.assertEquals (true, isEqual (10, 11)) System.out.println ('Ini adalah kondisi gagal')} @Test public void getTitle () {WebDriver driver = driver FirefoxDriver () baru. get ('https://www.gmail.com') String title = driver.getTitle () Assert.assertEquals (judul, 'Gmail') System.out.println ('Ini lagi-lagi kondisi lulus')} }

Saat Anda melihat laporan yang dihasilkan setelah eksekusi ini, Anda akan melihat bahwa dari tiga pengujian, satu gagal dan dua lulus. Hal penting lainnya yang perlu diperhatikan adalah ketika pernyataan gagal, perintah / baris kode lain dalam pengujian itu akan dilewati. Hanya jika penegasan berhasil, baris kode berikutnya akan dijalankan dalam pengujian itu. Lihat output di bawah ini system.out.println telah dijalankan hanya untuk metode pertama dan ketiga.

1493277977348 geckodriver INFO Mendengarkan 127.0.0.1:47035 1493277977993 mozprofile :: profile INFO Menggunakan jalur profil C: UsersVardhanAppDataLocalTemp ust_mozprofile.Z7X9uFdKODvi 1493277977994 geckodriver :: marionette INFO geckire Firefox x77994 geckodriver :: marionette INFO 14977977998 Menghubungkan ke Marionette di localhost: 50758 [GPU 6920] PERINGATAN: kesalahan pipa: 109: file c: / builds / moz2_slave / m-rel-w32-00000000000000000000 / build / src / ipc / chromium / src / chrome / common / ipc_channel_win. cc, baris 346 1493277981742 Marionette INFO Mendengarkan di port 50758 27 Apr 2017 12:56:22 org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Dialek yang terdeteksi: W3C Ini lagi-lagi kondisi lulus Ini adalah kondisi lulus LULUS: getTitle PASSED: testEquality1 GAGAL: testEquality2 java.lang.AssertionError: diharapkan [salah] tetapi ditemukan [benar] di org.testng.Assert.fail (Assert.java:93) di org.testng.Assert.failNotEquals (Assert.java: 512) di org.testng.Assert.assertE qualsImpl (Assert.java:134) di org.testng.Assert.assertEquals (Assert.java:115) di org.testng.Assert.assertEquals (Assert.java:304) di org.testng.Assert.assertEquals (Assert.java : 314) di testng.Assertions.testEquality2 (Assertions.java:38) di sun.reflect.NativeMethodAccessorImpl.invoke0 (Metode Asli) di sun.reflect.NativeMethodAccessorImpl.invoke (Sumber Tidak Dikenal) di sun.reflect.DelegcessorImethodAc Sumber) di java.lang.reflect.Method.invoke (Sumber Tidak Dikenal) di org.testng.internal.MethodInvocationHelper.invokeMethod (MethodInvocationHelper.java:108) di org.testng.internal.Invoker.invokeMethod (Invoker.java:661) di org.testng.internal.Invoker.invokeTestMethod (Invoker.java:869) di org.testng.internal.Invoker.invokeTestMethods (Invoker.java:1193) di org.testng.internal.TestMethodWorker.invokeTestMethods (TestMethodWorker.java:126 ) di org.testng.internal.TestMethodWorker.run (TestMethodWorker.java:109) di org.testng.TestRunner.privateRun (TestRunner.java:744) di org.testng.TestRu nner.run (TestRunner.java:602) di org.testng.SuiteRunner.runTest (SuiteRunner.java:380) di org.testng.SuiteRunner.runSequentially (SuiteRunner.java:375) di org.testng.SuiteRunner.privateRun (SuiteRunner .java: 340) di org.testng.SuiteRunner.run (SuiteRunner.java:289) di org.testng.SuiteRunnerWorker.runSuite (SuiteRunnerWorker.java:52) di org.testng.SuiteRunnerWorker.run (SuiteRunnerWorker.java:86) di org.testng.TestNG.runSuitesSequentially (TestNG.java:1301) di org.testng.TestNG.runSuitesLocally (TestNG.java:1226) di org.testng.TestNG.runSuites (TestNG.java:1144) di org.testng. TestNG.run (TestNG.java:1115) di org.testng.remote.AbstractRemoteTestNG.run (AbstractRemoteTestNG.java:132) di org.testng.remote.RemoteTestNG.initAndRun (RemoteTestNG.java:230) di org.testng.remote .RemoteTestNG.main (RemoteTestNG.java:76) ======================================= ======== Tes default Tes dijalankan: 3, Kegagalan: 1, Lewati: 0 ============================ =================== =============================== ================ Suite default Total tes yang dijalankan: 3, Kegagalan: 1, Lewati: 0 =================================== ============

Jadi, itulah akhir dari konsep yang terkait dengan manajemen kasus uji. Kami memiliki satu topik lagi, dan itu adalah pembuatan laporan. Pembuatan laporan adalah topik terakhir dalam tutorial Selenium WebDriver ini karena laporan hanya dapat dibuat setelah semuates dijalankan.

pivot dan univot di server sql

Pembuatan Laporan

Hal terpenting yang perlu Anda perhatikan adalah bahwa laporan hanya akan dibuat melalui file .xml. Artinya, baik itu metode, atau kelas, atau grup yang ingin Anda uji, semuanya harus ditentukan dalam file .xml.

Jadi pertama-tama Anda dapat membuat folder baru di bawah proyek Anda, dan membuat file baru di dalam folder itu dan memberi nama pada file tersebut dan menyimpannya dengan ekstensi .xml. Anda dapat membuat folder dan file baru dengan mengklik kanan pada penjelajah paket. Setelah Anda membuat file, buka tab sumber dari bagian bawah jendela dan masukkan konfigurasi seperti yang ditentukan dalam cuplikan di bawah ini.

 

Baris pertama adalah definisi tipe dokumen XML. Ini standar dan wajib untuk semua laporan pengujian. Tapi, baris lain cukup jelas. Saya telah menggunakan tag terbuka untuk suite, pengujian, kelas, dan kelas. Tag kelas dapat memiliki satu atau lebih kelas di dalamnya. Jadi, ini bisa digunakan jika kita ingin membuat laporan dimana kita menguji beberapa kelas. Ini berguna terutama untuk pengembang yang ingin menguji kode yang panjang.

Kembali ke laporan kami, Anda dapat memberi nama setiap suite atau tes atau kelas setelah membuka tag tersebut dan ingat untuk menutup setiap tag yang Anda buka. Saya telah memberikan nama suite saya sebagai TestNGs , uji nama sebagai Uji Anotasi dan nama kelas sebagai testng.TestAnnotations. Perhatikan bahwa nama kelas dalam format ' packagename.classname ' .

Saat Anda menjalankan file ini sebagai TestNG suite, eksekusi akan dimulai dan Anda akan mendapatkan laporan pengujian terperinci. Anda akan mendapatkan hasil pengujian di tab konsol Anda dan hasil dari rangkaian pengujian di tab berikutnya. Laporan yang saya buat untuk mengeksekusi kode saya adalahdigambar di bawah ini. Anda akan melihat bahwa kali ini, ada nama suite, nama tes, nama kelas beserta waktu yang dibutuhkan untuk mengeksekusinya.

Jika Anda ingin melihat laporan HTML (Laporan indeks atau laporan Email), Anda dapat membuka keluaran uji folder di dalam direktori proyek di ruang kerja Anda. Dengan mengkliknya, Anda dapat melihat laporan bahkan di lain waktu. Di bawah ini adalah tangkapan layar mereka.

Laporan Indeks : -

Laporan yang Dapat Dikirim Melalui Email : -

Demikianlah akhir dari blog tutorial Selenium WebDriver ini. Saatnya bagi Anda untuk mengatur gerhana di akhir Anda, menginstal berbagai paket Selenium, menginstal TestNG dan mulai menulis kasus pengujian Anda.

Anda dapat melihat video tutorial Selenium WebDriver di bawah ini untuk menyaksikan demonstrasi dari berbagai konsep yang dijelaskan di blog ini.

Pelatihan Selenium | Kerangka TestNG Untuk Selenium | Edureka

Video Pelatihan Edureka Selenium ini akan memandu Anda memahami detail Selenium WebDriver secara mendalam. Video tutorial Selenium ini sangat ideal bagi pemula dan profesional yang ingin mempelajari dasar-dasar perintah WebDriver dan mempelajari bagaimana TestNG dapat digunakan dengan Selenium untuk mengelola berbagai kasus pengujian.

Jika Anda ingin belajar Selenium dan membangun karir di domain pengujian, lihat interaktif kami, langsung online di sini, yang hadir dengan dukungan 24 * 7 untuk memandu Anda selama periode belajar Anda.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar dan kami akan menghubungi Anda kembali.