Pengujian Basis Data Menggunakan Selenium dan JDBC: Bagaimana Cara Menghubungkannya?

⚡ Ringkasan Cerdas

Pengujian basis data menggunakan Selenium bergantung pada JDBC, karena WebDriver sendiri hanya memvalidasi lapisan browser. Langkah-langkah ini menunjukkan cara membuka MySQL membuat koneksi, menjalankan SQL, membaca ResultSet, dan memverifikasi data yang tersimpan.

  • 🔌 Jembatan JDBC: Selenium WebDriver hanya menggerakkan browser, jadi JDBC menyediakan lapisan basis data untuk setiap penegasan data.
  • 🧩 Kelas pengemudi: modern MySQL Connector/J mendaftarkan com.mysql.cj.jdbc.Driver secara otomatis, sehingga panggilan Class.forName secara eksplisit bersifat opsional.
  • 🔗 String koneksi: A MySQL URL Mengikuti jdbc:mysql://host:3306/database, dan 3306 adalah port server default.
  • 📥 Penanganan hasil: Statement.executeQuery mengembalikan ResultSet, yang dapat Anda iterasi dengan next() dan dibaca melalui getString.
  • 🛡️ Keamanan sumber daya: try-with-resources menutup Connection, Statement, dan ResultSet bahkan ketika sebuah assertion gagal di tengah jalan.
  • 🚀 Kebersihan kueri: Parameter PreparedStatement menghilangkan risiko injeksi dan memungkinkan server untuk menggunakan kembali rencana eksekusi yang di-cache.

Pengujian Basis Data menggunakan Selenium

Koneksi Basis Data di Selenium

Selenium Webdriver terbatas pada pengujian aplikasi Anda menggunakan Browser. Menggunakan Selenium Webdriver untuk Verifikasi Database Anda perlu menggunakan JDBC (“Java Konektivitas Basis Data”).

JDBC (Java Konektivitas Basis Data) adalah a SQL level API yang memungkinkan Anda mengeksekusi pernyataan SQL. Ini bertanggung jawab atas konektivitas antar Java Bahasa pemrograman dan berbagai macam database. API JDBC menyediakan kelas dan antarmuka berikut

  • Manajer Pengemudi
  • sopir
  • Koneksi
  • Pernyataan
  • Hasil Set
  • SQLException

Cara Menghubungkan Database di Selenium

Untuk menguji Database Anda menggunakan Selenium, Anda perlu memperhatikan 3 langkah berikut ini

Hubungkan Basis Data di Selenium

Langkah 1) Buat koneksi ke Database

Untuk membuat koneksi ke database sintaksnya adalah

DriverManager.getConnection(URL, "userid", "password" )

Di sini,

  • Userid adalah nama pengguna yang dikonfigurasi dalam database
  • Kata sandi pengguna yang dikonfigurasi
  • URL berformat jdbc:< dbtype>://ipaddress:portnumber/db_name”
  • - Driver untuk database yang ingin Anda hubungkan. Untuk terhubung ke database Oracle, nilainya adalah "oracle". Untuk terhubung ke database dengan nama "emp" di MySQL URL akan menjadi jdbc:mysql://localhost:3036/emp

Dan seperti apa kode untuk membuat koneksi

Connection con = DriverManager.getConnection(dbUrl,username,password);

Anda juga perlu memuat Driver JDBC menggunakan kode tersebut

Class.forName("com.mysql.jdbc.Driver");
⚠️ Peringatan: com.mysql.jdbc.Driver sudah usang di Connector/J 8.0. Gunakan com.mysql.cj.jdbc.Driver. Sejak JDBC 4.0, driver mendaftarkan dirinya sendiri, sehingga Class.forName bersifat opsional. MySQL mendengarkan di frekuensi 3306, bukan 3036.

Langkah 2) Kirim Kueri ke Database

Setelah koneksi dibuat, Anda perlu menjalankan kueri.

Anda dapat menggunakan Objek Pernyataan untuk mengirim pertanyaan.

Statement stmt = con.createStatement();

Setelah objek pernyataan dibuat, gunakan metode eksekusiQuery untuk mengeksekusi kueri SQL

stmt.executeQuery(select *  from employee;);
⚠️ Peringatan: executeQuery menerima String, jadi kutip SQL-nya: executeQuery(“select * from employee”). Gunakan PreparedStatement untuk input pengguna.

Langkah 3) Proses hasilnya

Hasil dari kueri yang dijalankan disimpan di Objek ResultSet.

Java menyediakan banyak metode lanjutan untuk memproses hasilnya. Beberapa metode tercantum di bawah ini

Proses Hasilnya

Contoh Pengujian Database dengan Selenium

Langkah 1) Install MySQL Server ke MySQL Workbench

Lihat panduan lengkap Mysql & Mysql Workbench di sini

Saat menginstal MySQL Server, harap perhatikan databasenya

  • Nama Pengguna
  • Kata Sandi
  • Nomor Port

Hal ini akan diperlukan dalam langkah selanjutnya.

MySQL Workbench memudahkan administrasi database tanpa perlu membuat kode SQL. Padahal, Anda juga bisa menggunakan MySQL Terminal untuk berinteraksi dengan database.

Langkah 2) In MySQL WorkBench, sambungkan ke Anda MySQL Server

Pengujian Basis Data Dengan Selenium

Di layar berikutnya,

  1. Pilih Instans Lokal MySQL
  2. Masukkan Nomor Port
  3. Masukkan nama pengguna
  4. Masukkan kata kunci
  5. klik OK

Pengujian Basis Data Dengan Selenium

Langkah 3) Untuk Membuat Basis Data,

  1. Klik buat Tombol Skema
  2. Masukkan Nama Skema/Database
  3. Klik Terapkan

Pengujian Basis Data Dengan Selenium

Langkah 4) Di menu navigasi,

  1. Klik Tabel, di bawah database emp
  2. Masukkan nama Tabel sebagai karyawan
  3. Masukkan Bidang sebagai Nama dan Usia
  4. Klik Terapkan

Pengujian Basis Data Dengan Selenium

Anda akan melihat pop-up berikut. Klik Apply

Pengujian Basis Data Dengan Selenium

Langkah 5) Kami akan membuat data berikut

Nama Usia
Atasan 25
Nick 36
Bill 47

Untuk membuat data ke dalam Tabel

  1. Di navigator, pilih tabel karyawan
  2. Di panel kanan, klik Editor Formulir
  3. Masukkan Nama dan Usia
  4. Klik Terapkan

Pengujian Basis Data Dengan Selenium

Ulangi proses ini sampai semua data dibuat

Pengujian Basis Data Dengan Selenium

Langkah 6) Download MySQL konektor JDBC di sini

Pengujian Basis Data Dengan Selenium

Langkah 7) Tambahkan Jar yang diunduh ke Proyek Anda

  1. Klik kanan pada Anda Java Buka file. Kemudian klik Build Path à Configure build path.
  2. Pilih perpustakaan
  3. Klik tambahkan JAR eksternal
  4. Anda dapat melihat MySQL konektor Java di perpustakaan Anda
  5. Klik buka untuk menambahkannya ke proyek

Pengujian Basis Data Dengan Selenium

Langkah 8) Salin kode berikut ke editor

Package  htmldriver;		
import  java.sql.Connection;		
import  java.sql.Statement;		
import  java.sql.ResultSet;		
import  java.sql.DriverManager;		
import  java.sql.SQLException;		
public class  SQLConnector {				
    	public static void  main(String[] args) throws  ClassNotFoundException, SQLException {													
				//Connection URL Syntax: "jdbc:mysql://ipaddress:portnumber/db_name"		
                String dbUrl = "jdbc:mysql://localhost:3036/emp";					

				//Database Username		
				String username = "root";	
                
				//Database Password		
				String password = "guru99";				

				//Query to Execute		
				String query = "select *  from employee;";	
                
         	    //Load mysql jdbc driver		
           	    Class.forName("com.mysql.jdbc.Driver");			
           
           		//Create Connection to DB		
            	Connection con = DriverManager.getConnection(dbUrl,username,password);
          
          		//Create Statement Object		
        	   Statement stmt = con.createStatement();					
       
       			// Execute the SQL Query. Store results in ResultSet		
         		ResultSet rs= stmt.executeQuery(query);							
         
         		// While Loop to iterate through all data and print results		
				while (rs.next()){
			        		String myName = rs.getString(1);								        
                            String myAge = rs.getString(2);					                               
                            System. out.println(myName+"  "+myAge);		
                    }		
      			 // closing DB Connection		
      			con.close();			
		}
}
⚠️ Peringatan: Daftar ini dipertahankan seperti yang diterbitkan. Padanan modern: com.mysql.cj.jdbc.Driver, port 3306, paket huruf kecil, dan coba-dengan-sumber-daya untuk pembersihan.

Langkah 9) Jalankan kodenya, dan periksa hasilnya

Pengujian Basis Data Dengan Selenium

Langkah-langkah yang sama berlaku untuk mesin relasional apa pun.

Driver JDBC dan String Koneksi untuk Basis Data Populer

MySQL hanya satu opsi. Pola JDBC tetap identik di semua mesin: impor, panggilan Statement, dan perulangan ResultSet tidak berubah. Hanya artefak driver dan URL Karena berbeda, gunakan tabel di bawah ini ketika aplikasi yang sedang diuji berjalan pada basis data yang berbeda.

Basis Data Kelas pengemudi Contoh koneksi URL Port default
MySQL com.mysql.cj.jdbc.Driver jdbc:mysql://localhost:3306/emp 3306
PostgreSQL org.postgresql.Driver jdbc:postgresql://localhost:5432/emp 5432
Oracle oracle.jdbc.Oraclesopir jdbc:oracle:thin:@localhost:1521:orcl 1521
SQL Server com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:sqlserver://localhost:1433;databaseName=emp 1433

Nomor port adalah penyebab sebagian besar kegagalan pertama kali. Kesalahan "koneksi ditolak" hampir selalu berarti port yang digunakan bermasalah. URL Tidak sesuai dengan port yang sebenarnya digunakan server untuk mendengarkan. Periksa konfigurasi server Anda sebelum menggunakan pengaturan default.

Setiap driver dikirim sebagai satu file JAR tunggal yang Anda tambahkan ke jalur build persis seperti yang ditunjukkan pada Langkah 7. Setiap engine yang tercantum di atas mendaftarkan dirinya secara otomatis, sehingga tidak diperlukan baris Class.forName. Itu berarti satu metode pembantu dapat melayani setiap lingkungan yang ditargetkan oleh suite Anda.

Pertanyaan Umum Demo Slot

Tidak. Sejak JDBC 4.0 (Java 6) DriverManager menemukan driver melalui mekanisme ServiceLoader, jadi menambahkan JAR Connector/J ke classpath sudah cukup. Pertahankan panggilan hanya jika kontainer lama gagal mendaftarkan driver secara otomatis.

File JAR Connector/J hilang dari classpath runtime, atau URL Bermasalah. Konfirmasikan apakah JAR muncul di bawah Pustaka yang Direferensikan, dan periksa apakah URL Diawali dengan jdbc:mysql:// dan menyebutkan host dan port yang dapat dijangkau.

Ya. Asisten seperti Kopilot GitHub Membangun fungsi pembantu koneksi, perulangan ResultSet, dan pernyataan dari deskripsi skema. RevPeriksa setiap kueri yang dihasilkan untuk memastikan nama tabel yang benar dan keamanan terhadap injeksi sebelum melakukan commit.

Model AI menghasilkan baris awal yang realistis, menyarankan nilai batas, dan menandai pernyataan yang bergeser setelah migrasi skema. Platform seperti Testim Terapkan hal ini pada pemeliharaan, meskipun peninjauan oleh manusia tetap diperlukan untuk menjaga integritas referensial.

Selalu. Koneksi atau ResultSet yang tidak ditutup akan menghabiskan kumpulan koneksi server di seluruh rangkaian pengujian yang panjang. Bungkuslah dalam blok try-with-resources, atau tutuplah dalam blok @AfterMethod sehingga pembersihan tetap berjalan meskipun sebuah pernyataan gagal.

Ringkaslah postingan ini dengan: