Selenium Tutorial C#: Kerangka Kerja NUnit dengan Contoh

โšก Ringkasan Cerdas

Selenium WebDriver menggerakkan browser dari C# melalui antarmuka IWebDriver, sementara NUnit menyediakan atribut pengujian, pernyataan, dan pelaporan Test Explorer yang mengubah langkah-langkah browser tersebut menjadi pengujian otomatis yang dapat diulang.

  • ๐Ÿ”˜ Rangkaian alat: Visual Studio ditambah Selenium WebDriver, NUnit dan NUnit Test Adapter NuGet paket.
  • โ˜‘๏ธ Pengaturan proyek: Tipe output harus berupa Class Library, bukan Console Application, jika tidak, proses build akan gagal.
  • โœ… Atribut NUnit: SetUp membuka browser, Test menjalankan tindakan, TearDown menutupnya.
  • ๐Ÿงช Grup perintah: perintah browser, perintah WebElement, dan perintah dropdown melalui SelectElement.
  • ๏ธ Pencari lokasi: FindElement menerima XPath dan strategi pemilih CSS untuk setiap interaksi elemen.
  • โšก eksekusi: Test Explorer menjalankan kelas tersebut dan melaporkan setiap hasilnya sebagai lulus atau gagal.

Selenium Otomatisasi C# dengan kerangka kerja pengujian NUnit

Selenium Ringkasan

Selenium adalah sumber terbuka, web Pengujian Otomatisasi alat yang mendukung banyak browser dan banyak sistem operasi. Ini memungkinkan penguji untuk menggunakan banyak bahasa pemrograman seperti Java, C#, PythonRuby, PHP, dan Perl untuk membuat kode pengujian otomatis. Jika Anda baru mengenal alat ini, mulailah dengan... Selenium tutorial dan WebDriver versus Selenium Perbandingan RC.

Selenium menyediakan kontrol peramban; bahasa yang Anda gunakan untuk menjalankannya menyediakan strukturnya.

Ikhtisar C#

C# adalah bahasa pemrograman berorientasi objek yang berasal dari C++ ke JavaC# memungkinkan pengembang untuk membangun aplikasi menggunakan Visual Studio pada platform .NET. Berikut adalah fitur-fitur utama dari C#. C#.

  1. Ini adalah bahasa pemrograman Berorientasi Objek
  2. Mendukung pengembangan aplikasi konsol, windows dan berbasis web
  3. Ini menyediakan fitur seperti Enkapsulasi, Warisan, dan Polimorfisme.

Sebelum pengkabelan Selenium Dalam hal ini, akan sangat membantu jika Anda mengenali bentuk program C# biasa.

Sintaks Dasar C#

Sebuah program dalam C# perlu memuat bagian-bagian berikut ini.

  1. Deklarasi ruang nama
  2. Kelas
  3. Atribut dan Metode Kelas
  4. Metode utama
  5. Pernyataan program

Contoh-

Di bawah ini adalah sampel Selenium Contoh program C# untuk mencetak teks 'Guru99' pada konsol sistem.

using System;
namespace FirstProgram {
class DemoPrint {
static void main(){
    Console.WriteLine("Guru99");
	}
  }
}

Penjelasan:

  • Namespace di atas Selenium Contoh C# adalah kumpulan beberapa kelas. Setiap namespace harus dideklarasikan menggunakan kata kunci 'using'.
  • Pernyataan pertama dari kode tersebut menyertakan namespace 'Sistem' ke dalam program kita. Namespace sistem mendefinisikan kelas dan peristiwa dasar yang digunakan dalam C#. Namespace yang akan digunakan tergantung pada kebutuhan program.
  • Pernyataan kedua mendeklarasikan namespace โ€œFirstProgramโ€ untuk kelas โ€œDemoPrint.โ€ File AC# dapat berisi beberapa kelas dalam namespace yang sama.
  • Pernyataan ketiga mencakup deklarasi kelas. Sebuah kelas mungkin berisi banyak atribut dan beberapa metode.
  • Pernyataan keempat mencakup deklarasi metode Utama. Metode utama adalah titik masuk eksekusi untuk setiap kelas.
  • Pernyataan terakhir adalah sintaks C# yang digunakan untuk mencetak pernyataan ke konsol. WriteLine adalah sebuah metode dari Console kelas. Perhatikan bahwa titik masuknya dieja Main dengan huruf M kapital dalam C# asli; huruf kecil main pada contoh di atas tidak akan dikenali sebagai titik masuk.

Setelah sintaksnya jelas, tugas selanjutnya adalah menginstal perangkat yang mengkompilasi dan menjalankan pengujian tersebut.

Selenium dengan Pengaturan C#

Cara Mengatur Visual Studio dengan Selenium Pengemudi Web:

Sekarang dalam hal ini Selenium Tutorial C#, mari pelajari proses langkah demi langkah untuk menyiapkan Visual Studio dengan Selenium Pengemudi Web:

Visual Studio adalah Lingkungan Pengembangan Terpadu (IDE) yang digunakan oleh pengembang untuk membangun aplikasi di berbagai platform seperti Windows, Android, iOS dan aplikasi berbasis Cloud.

Langkah 1) Arahkan ke folder URL

https://visualstudio.microsoft.com/downloads/ dan Klik pada 'Download Gratis' tombol ditampilkan pada tab Komunitas Visual Studio

Halaman Unduhan Visual Studio dengan tombol Unduh Gratis edisi Komunitas.

Langkah 2) Buka exe yang diunduh. Klik 'Ya' jika diminta Hak Admin.

Penginstal Visual Studio meminta hak administrator.

Langkah 3) Popup di bawah ini akan muncul. Klik tombol 'Lanjutkan'.

Jendela pop-up selamat datang penginstal Visual Studio dengan tombol Lanjutkan.

File akan diunduh seperti yang ditunjukkan pada popup di bawah.

Penginstal Visual Studio sedang mengunduh file komponen.

Langkah 4) Di layar berikutnya,

Pilih kotak centang untuk

  • Universal Windows Pengembangan platform
  • Pengembangan aplikasi desktop .NET

Klik 'Instal'.

Layar beban kerja Visual Studio dengan Universal Windows Pengembangan platform dan aplikasi desktop .NET telah selesai.

Tunggu hingga instalasi setiap komponen selesai. File berukuran 16 GB dan akan memakan waktu.

Bilah kemajuan penginstal Visual Studio untuk setiap komponen yang dipilih

Langkah 5) Jendela pop up di bawah akan ditampilkan. Klik tombol 'Restart'.

Penginstal Visual Studio meminta untuk memulai ulang komputer.

Langkah 6) Setelah komputer dinyalakan ulang, cari โ€œVisual Studioโ€ di menu mulai dan klik hasil pencarian. Jendela pop-up berikut akan muncul. Klik tautan โ€œTidak sekarang, mungkin nantiโ€ jika Anda belum memiliki akun.

Jendela pop-up masuk Visual Studio dengan tautan "Tidak sekarang, mungkin nanti".

Langkah 7) Di layar berikutnya,

  • Pilih tema warna sesuai keinginan Anda
  • Klik tombol โ€œMulai Visual Studioโ€.

Tampilan layar pertama Visual Studio untuk memilih tema warna.

Langkah 8) Layar Visual Studio 'Mulai' akan muncul.

Layar Mulai Visual Studio setelah instalasi selesai

Buat proyek baru di Visual Studio:

Langkah 1) Di Menu File, Klik Baru > Proyek

Menu File Visual Studio dengan pilihan Baru dan Proyek.

Langkah 2) Di layar berikutnya,

  1. Pilih opsi 'Visual C#'
  2. Klik pada Aplikasi Konsol (.Net Framework)
  3. Masukkan nama sebagai โ€œGuru99 "
  4. klik OK

Dialog Proyek Baru dengan Aplikasi Konsol Visual C# dan proyek bernama Guru99

Langkah 3) Layar di bawah akan ditampilkan setelah proyek berhasil dibuat.

Editor Visual Studio menampilkan yang baru saja dibuat. Guruproyek konsol 99

Siapkan Visual Studio dengan Selenium Pengemudi Web:

Langkah 1) Arahkan ke Alat -> NuGet Manajer Paket -> Kelola NuGet Paket untuk Solusi

Jalur menu Alat ke NuGet Manajer Paket dan Kelola NuGet Paket untuk Solusi

Langkah 2) Di layar berikutnya

  1. Pencarian untuk Selenium pada layar yang dihasilkan
  2. Pilih hasil pencarian pertama
  3. Centang kotak centang proyek
  4. Klik 'Instal'

NuGet pengelola paket dengan Selenium hasil pencarian dan kotak centang proyek dicentang

Langkah 3) Klik tombol 'OK' di layar pop-up

NuGet pop-up konfirmasi sebelum Selenium paket telah diinstal

Langkah 4) Pesan di bawah ini akan ditampilkan setelah paket berhasil diinstal.

NuGet keluaran yang mengkonfirmasi Selenium WebDriver berhasil diinstal.

Selenium Sekarang sudah bisa membuka browser, tetapi belum bisa melaporkan apakah sebuah pengujian berhasil atau tidak. Itu adalah tugas dari kerangka kerja pengujian unit.

Kerangka NUnit: Ikhtisar

NUnit adalah Pengujian Unit kerangka kerja yang didukung oleh Visual Studio dan Selenium WebDriver. NUnit adalah kerangka kerja pengujian unit yang paling banyak digunakan untuk aplikasi .NET. NUnit menyajikan hasil pengujian dalam format yang mudah dibaca dan memungkinkan penguji untuk melakukan debugging pada pengujian otomatis.

Kita perlu menginstal NUnit Framework dan NUnit Test Adapter ke Visual Studio agar dapat menggunakannya.

Langkah-langkah untuk menginstal NUnit Framework

Sekarang dalam hal ini Selenium dengan tutorial C#, mari pelajari proses menginstal framework NUnit:

Langkah 1) Arahkan ke Alat -> NuGet Manajer Paket -> Kelola NuGet Paket untuk Solusi

Menu Alat dibuka kembali di NuGet Manajer Paket untuk instalasi NUnit

Langkah 2) Di jendela berikutnya

  1. Cari NUnit
  2. Pilih hasil pencarian
  3. Pilih Proyek
  4. Klik Install

NuGet pengelola paket dengan hasil pencarian NUnit yang dipilih untuk diinstal

Langkah 3) Popup di bawah ini akan muncul. Klik tombol 'Oke'.

NuGet Popup konfirmasi sebelum kerangka kerja NUnit diinstal

Langkah 4) Pesan di bawah ini akan muncul setelah instalasi selesai.

NuGet Pesan yang mengkonfirmasi bahwa instalasi kerangka kerja NUnit telah selesai.

Langkah-langkah untuk mengunduh NUnit Test Adapter

Sekarang dalam tutorial NUnit ini, kami akan membahas langkah-langkah mengunduh NUnit Test Adapter:

Harap perhatikan bahwa langkah-langkah di bawah ini hanya berfungsi untuk mesin 32-bit. Untuk mesin 64-bit, Anda perlu mengunduh 'NUnit3 Test Adapter' dengan mengikuti proses yang sama seperti yang disebutkan di bawah ini.

Paket yang tersedia saat ini: sebuah proyek modern memasang NUnit3TestAdapter Bersama MicrosoftSDK Uji .NET, dan yang lebih tua NUnitTestAdapter Paket tersebut sudah tidak lagi dipelihara. Pada .NET (Core), seluruh proyek dapat dibuat kerangkanya dengan dotnet new nunit, yang menambahkan ketiga paket tersebut untuk Anda.

Langkah 1) Arahkan ke Alat ->NuGet Manajer Paket -> Kelola NuGet Paket untuk Solusi. Di layar itu,

  1. Cari NUnitTestAdapter
  2. Klik Hasil Pencarian
  3. Pilih Proyek
  4. Klik Install

NuGet Manajer paket mencari NUnitTestAdapter dengan proyek yang dipilih.

Langkah 2) Klik OK pada pop-up konfirmasi. Setelah instalasi selesai, Anda akan melihat pesan berikut-

NuGet Pesan yang mengkonfirmasi bahwa instalasi NUnit Test Adapter telah selesai.

Kedua bagian sudah terpasang, jadi langkah selanjutnya adalah menggabungkannya dalam satu kelas pengujian.

Selenium dan kerangka NUnit

Integrasi Selenium dengan kerangka NUnit memungkinkan penguji membedakan berbagai kelas pengujian. NUnit juga memungkinkan penguji menggunakan anotasi seperti SetUp, Test, dan TearDown untuk melakukan tindakan sebelum dan sesudah menjalankan pengujian.

Kerangka kerja NUnit dapat diintegrasikan dengan Selenium dengan membuat kelas pengujian NUnit dan menjalankan kelas pengujian tersebut menggunakan kerangka kerja NUnit. Java Kesamaan dari pola ini dibahas dalam JUnit tutorial kerangka kerja, dan alternatif .NET untuk NUnit di dalam Visual Studio dibahas bersamaan dengan TestNG untuk Selenium.

Berikut langkah-langkahnya Selenium Tutorial kerangka C# diperlukan untuk membuat dan menjalankan kelas pengujian menggunakan kerangka NUnit.

Langkah-langkah untuk membuat kelas Tes NUnit di Selenium:

Langkah 1) Di Penjelajah Solusi, klik kanan proyek > Tambah > Kelas

Menu konteks Penjelajah Solusi dengan Tambah dan Kelas terpilih.

Langkah 2) Jendela pembuatan kelas akan muncul.

  1. Berikan nama pada kelas tersebut
  2. Klik tombol Tambah

Dialog Tambah Item Baru digunakan untuk memberi nama kelas pengujian NUnit yang baru.

Langkah 3) Layar di bawah ini akan muncul.

Berkas kelas C# kosong yang dibuat di editor Visual Studio.

Langkah 4) Tambahkan kode berikut ke kelas yang telah dibuat. Harap perhatikan bahwa Anda perlu menentukan lokasi file 'chromedriver.exe' selama inisialisasi chrome driver. Selenium 4.6 dan kapal selanjutnya Selenium manajer, yang secara otomatis menyelesaikan driver yang cocok, jadi new ChromeDriver() Tanpa argumen path, ini adalah bentuk saat ini โ€” path di bawah ini dipertahankan karena sesuai dengan tangkapan layar.

using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Firefox;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guru99Demo
{
	class Guru99Demo						
    {
        IWebDriver driver;

        [SetUp]
		public void startBrowser()
        {
            driver = new ChromeDriver("D:\\3rdparty\\chrome");
        }

        [Test]
		public void test()
        {
            driver.Url = "http://www.google.co.in";
        }

        [TearDown]
		public void closeBrowser()
        {
            driver.Close();
        }

    }
}

Langkah 4) Klik 'Bangun' -> 'Bangun Solusi'

Menu Build dengan opsi Build Solution terpilih di Visual Studio.

CATATAN: Anda mungkin mendapatkan kesalahan seperti "Tidak mengandung metode 'utama' statis yang cocok untuk titik masuk" saat Anda membangun

Kesalahan saat membangun sistem pelaporan tidak menunjukkan metode main statis yang sesuai untuk titik masuk.

Untuk mengatasi hal ini, buka Proyek > Properti dan ubah Tipe Output menjadi โ€œPustaka Kelas.โ€ Pengaturan default adalah โ€œAplikasi Konsol.โ€

Properti proyek dengan tipe Output diubah menjadi Class Library.

Langkah 5) Setelah build berhasil, kita perlu membuka jendela Test Explorer. Klik Tes -> Windows -> Uji Penjelajah

Jalur menu uji ke Windows dan Penjelajah Tes

Langkah 6) Jendela Test Explorer terbuka dengan daftar tes yang tersedia. Klik kanan pada Test Explorer dan pilih Jalankan Tes yang Dipilih

Test Explorer menampilkan daftar tes yang tersedia dengan opsi Jalankan Tes yang Dipilih.

Langkah 7) Selenium harus membuka browser dengan yang ditentukan URL lalu tutup browser. Status kasus uji akan diubah menjadi 'Lulus' pada jendela Test Explorer.

Test Explorer menampilkan hasil pengujian NUnit yang ditandai sebagai berhasil.

Tes yang berhasil membuktikan bahwa instalasi pipa berfungsi. Berikut ini adalah kosakata yang akan Anda gunakan dalam menyusun tes.

Selenium Perintah WebDriver di C#

C# menggunakan antarmuka 'IWebDriver' untuk interaksi browser. Berikut ini adalah kategori perintah yang tersedia dengan Selenium dalam C#.

  1. Perintah browser
  2. Perintah Elemen Web
  3. Perintah tarik-turun

Sekarang dalam hal ini Selenium Tutorial C#, mari kita pelajari Selenium Perintah WebDriver satu per satu. The Java padanannya ditunjukkan dalam hal ini skrip WebDriver pertama panduan

Perintah-perintah di bawah ini masih berlaku hingga saat ini. IWebDriver permukaan di Selenium 4, jadi sintaksnya tetap sama tanpa perubahan.

Perintah peramban:

Berikut ini adalah daftar perintah browser yang tersedia di C# dengan Selenium.

Nama Perintah Deskripsi Sintaksis
Perintah Url Perintah ini digunakan untuk membuka file yang ditentukan. URL di browser.
driver.Url = "https://www.guru99.com"
Perintah Judul Perintah ini digunakan untuk mengambil judul halaman dari halaman web yang sedang dibuka
String title = driver.Title
Perintah Sumber Halaman Perintah ini digunakan untuk mengambil kode sumber halaman web yang sedang terbuka.
String pageSource = driver.PageSource
Tutup Perintah Perintah ini digunakan untuk menutup instance browser yang baru dibuka.
driver.Close();
Keluar dari Perintah Perintah ini digunakan untuk menutup semua instance browser yang terbuka
driver.Quit();
Perintah Kembali Perintah ini digunakan untuk menavigasi ke halaman riwayat browser sebelumnya.
driver.Navigate().Back();
Komando Maju Perintah ini digunakan untuk menavigasi ke halaman berikutnya dari riwayat browser.
driver.Navigate().Forward()
Segarkan Perintah Perintah ini digunakan untuk melakukan penyegaran browser.
driver.Navigate().Refresh()

Perintah browser bertindak pada jendela; kelompok berikutnya bertindak pada apa yang ada di dalamnya.

Perintah WebElement

WebElement mewakili elemen apa pun pada halaman web. Elemen-elemen ini diwakili oleh tag HTML. Tombol, kotak teks, tautan, gambar, tabel, dan frame semuanya adalah WebElement. OperaPerubahan pada elemen-elemen tersebut dipicu melalui IWebElement antarmuka. Untuk berinteraksi dengan WebElement, pertama-tama kita temukan elemennya pada halaman tersebut, lalu lakukan operasi padanya. Strategi yang tersedia dibahas dalam pencari lokasi di SeleniumAlat pengembang browser โ€” atau add-on Firebug dan Firepath lawas yang ada sebelum tangkapan layar di bawah ini โ€” dapat digunakan untuk mengidentifikasi XPath dari sebuah WebElement.

Berikut adalah perintah WebElement yang tersedia di C#.

Nama Perintah Deskripsi Sintaksis
Klik perintah Perintah ini digunakan untuk mengeklik Webelement. Agar elemen dapat diklik, elemen tersebut harus terlihat di halaman web. Perintah ini juga digunakan untuk operasi kotak centang dan tombol radio.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  element.Click();
Perintah yang jelas Perintah ini secara khusus digunakan untuk menghapus konten kotak teks yang ada.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
element.Clear();
Perintah SendKeys Perintah ini digunakan untuk memasukkan nilai ke dalam kotak teks. Nilai yang akan dimasukkan harus dilewatkan sebagai parameter untuk
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
element.SendKeys("guru99");
Perintah yang ditampilkan Perintah ini digunakan untuk mengidentifikasi apakah suatu elemen tertentu ditampilkan pada halaman web. Perintah ini mengembalikan nilai Boolean; benar atau salah tergantung pada visibilitas elemen web.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Displayed;
Perintah yang diaktifkan Perintah ini digunakan untuk mengidentifikasi apakah elemen web tertentu diaktifkan di halaman web. Perintah ini mengembalikan nilai Boolean; benar atau salah sebagai hasilnya.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Enabled;
Perintah yang dipilih Perintah ini digunakan untuk mengidentifikasi apakah elemen web tertentu telah dipilih. Perintah ini digunakan untuk kotak centang, tombol radio, dan operasi pemilihan.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Selected;
Kirim perintah: Perintah ini hampir sama dengan perintah klik, perbedaannya terletak pada apakah form HTML tersebut mempunyai tombol dengan tipe Submit. Sementara perintah klik mengklik tombol mana saja, perintah kirim mengklik hanya tombol dengan tipe kirim.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  element.submit();
Perintah teks Perintah ini mengembalikan teks dalam elemen Web. Perintah ini mengembalikan nilai string sebagai hasilnya.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
String text=element.Text;
perintah Nama Tag Perintah ini mengembalikan tag HTML elemen web. Ini mengembalikan nilai string sebagai hasilnya.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  String tagName = element.TagName;
Perintah GetCSSValue: Metode ini digunakan untuk mengembalikan warna elemen web dalam bentuk string rgba (Merah, Hijau, Biru, dan Alfa).
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
String color = element.getCSSValue;

Keluaranโ€“ Jika warna elemennya merah, outputnya adalah rgba(255,0,0,1)

Catatan mengenai contoh-contoh di atas: Tabel tersebut mereproduksi sintaks aslinya. Pada saat ini Selenium Pada .NET, anggota-anggotanya menggunakan format Pascal-case โ€” element.Submit() ke element.GetCssValue("color") - dan GetCssValue menerima nama properti CSS sebagai argumen.

Perintah Tarik-turun:

Operasi dropdown dalam C# dapat dicapai menggunakan kelas SelectElement.

Berikut ini adalah berbagai operasi dropdown yang tersedia dalam C#.

Nama Perintah Deskripsi Sintaksis
Perintah PilihBerdasarkan Teks Perintah ini memilih opsi dropdown berdasarkan teks opsi.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByText("Guru99");
Perintah SelectByIndex Perintah ini digunakan untuk memilih opsi berdasarkan indeksnya. Indeks dropdown dimulai dari 0.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByIndex("4");
Perintah SelectByValue Perintah ini digunakan untuk memilih opsi berdasarkan nilai opsinya.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByValue("Guru99");
Perintah Opsi Perintah ini digunakan untuk mengambil daftar pilihan yang ditampilkan dalam dropdown.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
List<IWebelement> options = select. Options;
int size = options.Count;
for(int i=0;i<options.size();i++)
{
String value = size.elementAt(i).Text;
Console.writeLine(value);
}

Kode di atas mencetak semua opsi ke konsol dalam dropdown.

Perintah IsMultiple Perintah ini digunakan untuk mengidentifikasi apakah dropdown tersebut merupakan dropdown multi-pilihan; dropdown multi-pilihan memungkinkan pengguna untuk memilih lebih dari satu opsi sekaligus. Perintah ini mengembalikan nilai Boolean.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
Boolean status = select.IsMultiple();
Perintah DeSelectAll Perintah ini digunakan dalam dropdown multi pilih. Ini menghapus opsi yang telah dipilih.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectAll();
Perintah DeSelectByIndex Perintah ini membatalkan pilihan nilai yang sudah dipilih menggunakan indeksnya.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByIndex("4");
Perintah DeSelectByValue Perintah ini membatalkan pilihan nilai yang sudah dipilih menggunakan nilainya.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByValue("Guru99");
Perintah DeSelectByText Perintah ini membatalkan pilihan nilai yang sudah dipilih menggunakan teksnya.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByText("Guru99");

Keempat skrip di bawah ini menjalankan perintah-perintah di atas untuk melawan... Guru99 situs demo. Masing-masing merupakan kelas uji NUnit yang lengkap dan dapat dijalankan.

Code sampel

Contoh 1: Klik tautan menggunakan XPATH Locator:

Skenario Uji:

  1. Buka Demo Guru99 halaman web โ€“ https://demo.guru99.com/test/guru99home/
  2. Maksimalkan jendela
  3. Klik pada menu 'Pengujian'
  4. Tutup peramban
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guru99Demo
{
	class CSS						
    {
        IWebDriver m_driver;

        [Test]
		public void cssDemo()
        {
            m_driver = new ChromeDriver("D:\\3rdparty\\chrome");
            m_driver.Url = "https://demo.guru99.com/test/guru99home/";
            m_driver.Manage().Window.Maximize();
            IWebelement link = m_driver.FindElement(By.XPath(".//*[@id='rt-header']//div[2]/div/ul/li[2]/a"));
            link.Click();
            m_driver.Close();
        }
    }
}

Contoh 2: Memasukkan data ke dalam TeksBox dan Klik tombol menggunakan pencari XPATH:

Skenario Uji:

  1. Arahkan ke folder GuruHalaman demo 99 โ€“ https://demo.guru99.com/test/guru99home/
  2. Masukkan data ke dalam kotak teks email
  3. Klik tombol daftar
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guru99Demo
{
	class CSS						
    {
        IWebDriver m_driver;

        [Test]
		public void cssDemo()
        {
            m_driver = new ChromeDriver("G:\\");
            m_driver.Url = "https://demo.guru99.com/test/guru99home/";
            m_driver.Manage().Window.Maximize();

             
			// Store locator values of email text box and sign up button				
            IWebElement emailTextBox = m_driver.FindElement(By.XPath(".//*[@id='philadelphia-field-email']"));
            IWebElement signUpButton = m_driver.FindElement(By.XPath(".//*[@id='philadelphia-field-submit']"));

            emailTextBox.SendKeys("test123@gmail.com");
            signUpButton.Click();
                        
        }
    }
}			

Contoh 3: Memasukkan data ke dalam TeksBox dan Klik tombol menggunakan pencari CSS:

Skenario Uji:

  1. Arahkan ke folder GuruHalaman demo 99 โ€“ https://demo.guru99.com/test/guru99home/
  2. Masukkan data ke dalam kotak teks email
  3. Klik tombol daftar
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Guru99Demo
{
	class CSS						
    {
        IWebDriver m_driver;

        [Test]
		public void cssDemo()
        {
            m_driver = new ChromeDriver("G:\\");
            m_driver.Url = "https://demo.guru99.com/test/guru99home/";
            m_driver.Manage().Window.Maximize();

             
			// Store locator values of email text box and sign up button				
            IWebElement emailTextBox = m_driver.FindElement(By.CssSelector("input[id=philadelphia-field-email]"));
            IWebElement signUpButton = m_driver.FindElement(By.CssSelector("input[id=philadelphia-field-submit]"));

            emailTextBox.SendKeys("test123@gmail.com");
            signUpButton.Click();

             
        }
    }
}

Contoh 4: Pilih nilai di dropdown:

Skenario Uji:

  1. Arahkan ke folder GuruHalaman demo 99 โ€“ https://demo.guru99.com/test/guru99home/
  2. Klik SAP link
  3. Masukkan data ke kotak teks nama dan email
  4. Pilih nilai dari dropdown Kursus
  5. Tutup peramban
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;


namespace Guru99Demo
{
	class TestSelect						
    {
        IWebDriver m_driver;

        [Test]
		public void selectDemo()
        {
            m_driver = new ChromeDriver("G:\\");
            m_driver.Url = "https://demo.guru99.com/test/guru99home/";
            m_driver.Manage().Window.Maximize();

            IWebElement course = m_driver.FindElement(By.XPath(".//*[@id='awf_field-91977689']"));

			var selectTest = new SelectElement(course);
			// Select a value from the dropdown				
            selectTest.SelectByValue("sap-abap");
                        
        }
    }
}

Pertanyaan Umum Demo Slot

penggunaan Selenium.WebDriver 4.x dengan NUnit 3.14 atau NUnit 4, ditambah NUnit3TestAdapter dan Microsoft.NET.Test.Sdk. NUnit 4 menargetkan .NET Framework 4.6.2 atau .NET 6 dan yang lebih baru, jadi periksa target proyek Anda sebelum melakukan peningkatan dari paket yang ditunjukkan di atas.

Nomor Selenium 4.6 diperkenalkan Selenium Manajer, yang mengunduh dan mencocokkan driver browser saat runtime. Meneruskan folder driver ke konstruktor ChromeDriver masih berfungsi, tetapi hanya diperlukan jika Anda harus menetapkan build driver tertentu.

Penantian implisit menerapkan satu batas waktu untuk setiap pencarian elemen selama masa aktif instance IWebDriver. Penantian eksplisit menargetkan satu elemen dan satu kondisi, seperti dapat diklik atau terlihat, sehingga gagal lebih cepat dan menggambarkan maksudnya dengan lebih tepat.

Ya. Tandai assembly dengan Parallelizable dan NUnit akan menjalankan fixture secara bersamaan. Setiap pengujian harus memiliki instance IWebDriver-nya sendiri, jadi buat driver di SetUp daripada berbagi field statis, jika tidak, pengujian paralel akan bertabrakan di browser yang sama.

NUnit dan MSTest sama-sama menggunakan atribut dan mengelompokkan pengujian dengan TestFixture atau TestClass. xUnit tidak memerlukan atribut kelas dan dirancang berdasarkan paralelisme. Ketiganya berjalan di Test Explorer; NUnit tetap menjadi pilihan yang paling umum untuk Selenium Bekerja di C#.

Alat bantu AI mengusulkan locator dari cuplikan halaman, memperbaiki selector yang rusak setelah perubahan UI, dan mengubah kasus uji tertulis menjadi draf metode NUnit. Perlakukan setiap saran sebagai draf dan tinjau pernyataan sebelum melakukan commit.

Ya. Berdasarkan komentar yang menjelaskan skenario, Copilot akan membuat draf anggota SetUp, Test, dan TearDown serta menyarankan panggilan FindElement dari kode di sekitarnya. Verifikasi locator terhadap halaman langsung, karena selector yang dihasilkan disimpulkan daripada diperiksa.

Selenium Playwright memiliki dukungan grid, cloud, dan bahasa terluas, serta lingkungan pengujian yang sangat besar, sehingga keahlian tersebut tetap dibutuhkan. Playwright menawarkan eksekusi yang lebih cepat dan fitur tunggu bawaan. Banyak tim .NET menjalankan keduanya, berbagi runner NUnit dan laporan yang sama.

Ringkaslah postingan ini dengan: