Δοκιμή βάσης δεδομένων χρησιμοποιώντας Selenium και JDBC: Πώς να συνδεθείτε;

⚡ Έξυπνη Σύνοψη

Δοκιμή βάσης δεδομένων χρησιμοποιώντας Selenium βασίζεται στο JDBC, επειδή το ίδιο το WebDriver επικυρώνει μόνο το επίπεδο του προγράμματος περιήγησης. Αυτά τα βήματα δείχνουν πώς να ανοίξετε ένα MySQL σύνδεση, εκτέλεση SQL, ανάγνωση ενός ResultSet και επαλήθευση αποθηκευμένων δεδομένων.

  • 🔌 Γέφυρα JDBC: Selenium Το WebDriver οδηγεί μόνο το πρόγραμμα περιήγησης, επομένως το JDBC παρέχει το επίπεδο βάσης δεδομένων για κάθε διεκδίκηση δεδομένων.
  • 🧩 Κατηγορία οδηγού: ΜΟΝΤΕΡΝΑ MySQL Το Connector/J καταχωρεί αυτόματα το com.mysql.cj.jdbc.Driver, επομένως μια ρητή κλήση Class.forName είναι προαιρετική.
  • 🔗 Συμβολοσειρά σύνδεσης: A MySQL URL ακολουθεί το jdbc:mysql://host:3306/database και το 3306 είναι η προεπιλεγμένη θύρα διακομιστή.
  • 📥 Διαχείριση αποτελεσμάτων: Η συνάρτηση Statement.executeQuery επιστρέφει ένα ResultSet, το οποίο επαναλαμβάνετε με την next() και διαβάζετε το getString.
  • Ασφάλεια πόρων: Η try-with-resources κλείνει τη Σύνδεση, την Δήλωση και το ResultSet ακόμα και όταν μια διεκδίκηση αποτύχει στη μέση.
  • 🚀 Ερώτημα υγιεινής: Οι παράμετροι PreparedStatement εξαλείφουν τον κίνδυνο έγχυσης και επιτρέπουν στον διακομιστή να επαναχρησιμοποιήσει ένα σχέδιο εκτέλεσης που είναι αποθηκευμένο στην προσωρινή μνήμη.

Δοκιμή βάσης δεδομένων με χρήση Selenium

Σύνδεση βάσης δεδομένων σε Selenium

Selenium Το πρόγραμμα οδήγησης Web περιορίζεται σε Δοκιμές τις εφαρμογές σας χρησιμοποιώντας το πρόγραμμα περιήγησης. Χρησιμοποιώ Selenium Webdriver για επαλήθευση βάσης δεδομένων πρέπει να χρησιμοποιήσετε το JDBC ("Java Συνδεσιμότητα βάσεων δεδομένων»).

JDBC (Java Συνδεσιμότητα βάσεων δεδομένων) είναι α SQL API επιπέδου που σας επιτρέπει να εκτελείτε εντολές SQL. Είναι υπεύθυνο για τη συνδεσιμότητα μεταξύ των Java Γλώσσα προγραμματισμού και ένα ευρύ φάσμα βάσεων δεδομένων. Το JDBC API παρέχει τις ακόλουθες κλάσεις και διεπαφές

  • Διαχειριστής οδήγησης
  • Οδηγός
  • σύνδεση
  • Δήλωση
  • Αποτέλεσμα
  • SQLException

Πώς να συνδέσετε τη βάση δεδομένων σε Selenium

Για να δοκιμάσετε τη βάση δεδομένων σας χρησιμοποιώντας Selenium, πρέπει να τηρήσετε τα παρακάτω 3 βήματα

Σύνδεση βάσης δεδομένων σε Selenium

Βήμα 1) Κάντε μια σύνδεση με τη Βάση Δεδομένων

Για να γίνει σύνδεση με τη βάση δεδομένων η σύνταξη είναι

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

Εδώ,

  • Userid είναι το όνομα χρήστη που έχει ρυθμιστεί στη βάση δεδομένων
  • Κωδικός πρόσβασης του διαμορφωμένου χρήστη
  • URL έχει τη μορφή jdbc:<dbtype>://ipaddress:portnumber/db_name”
  • - Το πρόγραμμα οδήγησης για τη βάση δεδομένων που προσπαθείτε να συνδέσετε. Για να συνδεθείτε στη βάση δεδομένων Oracle, αυτή η τιμή θα είναι "oracle". Για σύνδεση σε βάση δεδομένων με όνομα "emp" σε MYSQL URL θα είναι jdbc:mysql://localhost:3036/emp

Και ο κώδικας για τη δημιουργία σύνδεσης μοιάζει

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

Πρέπει επίσης να φορτώσετε το πρόγραμμα οδήγησης JDBC χρησιμοποιώντας τον κωδικό

Class.forName("com.mysql.jdbc.Driver");
⚠️ Προειδοποίηση: Το com.mysql.jdbc.Driver είχε καταργηθεί στο Connector/J 8.0. Χρησιμοποιήστε το com.mysql.cj.jdbc.Driver. Από το JDBC 4.0 και μετά, το πρόγραμμα οδήγησης αυτοεγγράφεται, επομένως το Class.forName είναι προαιρετικό. MySQL ακούει στο 3306, όχι στο 3036.

Βήμα 2) Στείλτε ερωτήματα στη βάση δεδομένων

Μόλις πραγματοποιηθεί η σύνδεση, πρέπει να εκτελέσετε ερωτήματα.

Μπορείτε να χρησιμοποιήσετε το Αντικείμενο δήλωσης για να στείλετε ερωτήματα.

Statement stmt = con.createStatement();

Μόλις δημιουργηθεί το αντικείμενο της δήλωσης χρησιμοποιήστε τη μέθοδο executeQuery για να εκτελέσετε τα ερωτήματα SQL

stmt.executeQuery(select *  from employee;);
⚠️ Προειδοποίηση: Η συνάρτηση executeQuery δέχεται μια συμβολοσειρά (String), επομένως παραθέστε την SQL: executeQuery(“select * from employee”). Χρησιμοποιήστε την PreparedStatement για την είσοδο δεδομένων από τον χρήστη.

Βήμα 3) Επεξεργαστείτε τα αποτελέσματα

Τα αποτελέσματα από το ερώτημα που εκτελείται αποθηκεύονται στο αντικείμενο ResultSet.

Java παρέχει πληθώρα προηγμένων μεθόδων για την επεξεργασία των αποτελεσμάτων. Μερικές από τις μεθόδους παρατίθενται παρακάτω

Διαδικασία Τα αποτελέσματα

Παράδειγμα δοκιμής βάσεων δεδομένων με Selenium

Βήμα 1) εγκαταστήστε MySQL διακομιστή και MySQL Πάγκος εργασίας

Δείτε τον πλήρη οδηγό για το Mysql & Mysql Workbench εδώ

Κατά την εγκατάσταση MySQL Διακομιστής, σημειώστε τη βάση δεδομένων

  • Επωνυμία Φαρμακείου
  • Κωδικός Πρόσβασης
  • Αριθμός θύρας

Θα απαιτηθεί σε περαιτέρω βήματα.

MySQL Το Workbench διευκολύνει τη διαχείριση της βάσης δεδομένων χωρίς την ανάγκη κωδικοποίησης SQL. Ωστόσο, μπορείτε επίσης να χρησιμοποιήσετε το MySQL Τερματικό για αλληλεπίδραση με τη βάση δεδομένων.

Βήμα 2) In MySQL WorkBench, συνδεθείτε στο δικό σας MySQL διακομιστή

Δοκιμή βάσης δεδομένων με Selenium

Στην επόμενη οθόνη,

  1. Επιλέξτε Τοπική παρουσία του MySQL
  2. Εισαγάγετε τον αριθμό θύρας
  3. Εισάγετε όνομα χρήστη
  4. Εισάγετε τον κωδικό πρόσβασης
  5. κάντε κλικ στο OK

Δοκιμή βάσης δεδομένων με Selenium

Βήμα 3) Για τη δημιουργία βάσης δεδομένων,

  1. Κάντε κλικ στο κουμπί δημιουργία σχήματος
  2. Εισαγάγετε Όνομα σχήματος/βάσης δεδομένων
  3. Κάντε κλικ στην επιλογή Εφαρμογή

Δοκιμή βάσης δεδομένων με Selenium

Βήμα 4) Στο μενού πλοήγησης,

  1. Κάντε κλικ στους Πίνακες, κάτω από τη βάση δεδομένων emp
  2. Εισαγάγετε το όνομα του πίνακα ως υπάλληλος
  3. Εισαγάγετε τα πεδία ως Όνομα και Ηλικία
  4. Κάντε κλικ στην επιλογή Εφαρμογή

Δοκιμή βάσης δεδομένων με Selenium

Θα δείτε το παρακάτω αναδυόμενο παράθυρο. Κάντε κλικ στην επιλογή Εφαρμογή

Δοκιμή βάσης δεδομένων με Selenium

Βήμα 5) Θα δημιουργήσουμε τα ακόλουθα δεδομένα

Όνομα Ηλικία
Κορυφή 25
Nick 36
Bill 47

Για να δημιουργήσετε δεδομένα στον Πίνακα

  1. Στο navigator, επιλέξτε τον πίνακα υπαλλήλων
  2. Στο δεξιό τμήμα του παραθύρου, κάντε κλικ στην Επεξεργασία Φόρμας
  3. Εισαγάγετε Όνομα και Ηλικία
  4. Κάντε κλικ στην επιλογή Εφαρμογή

Δοκιμή βάσης δεδομένων με Selenium

Επαναλάβετε τη διαδικασία μέχρι να δημιουργηθούν όλα τα δεδομένα

Δοκιμή βάσης δεδομένων με Selenium

Βήμα 6) Κατεβάστε το MySQL Υποδοχή JDBC εδώ

Δοκιμή βάσης δεδομένων με Selenium

Βήμα 7) Προσθέστε το ληφθέν Βάζο στο Έργο σας

  1. Κάντε δεξί κλικ στο δικό σας Java Αρχείο. Στη συνέχεια, κάντε κλικ στο Δημιουργία διαδρομής à Ρύθμιση παραμέτρων δημιουργίας διαδρομής
  2. Επιλέξτε τις βιβλιοθήκες
  3. Κάντε κλικ στην προσθήκη εξωτερικών JAR
  4. Μπορείς να δεις MySQL σύνδεσμος java στη βιβλιοθήκη σας
  5. Κάντε κλικ στο άνοιγμα για να το προσθέσετε στο έργο

Δοκιμή βάσης δεδομένων με Selenium

Βήμα 8) Αντιγράψτε τον παρακάτω κώδικα στο πρόγραμμα επεξεργασίας

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();			
		}
}
⚠️ Προειδοποίηση: Η καταχώριση διατηρείται όπως δημοσιεύτηκε. Σύγχρονα ισοδύναμα: com.mysql.cj.jdbc.Driver, θύρα 3306, πακέτο με πεζά γράμματα και try-with-resources για καθαρισμό.

Βήμα 9) Εκτελέστε τον κώδικα και ελέγξτε την έξοδο

Δοκιμή βάσης δεδομένων με Selenium

Τα ίδια βήματα ισχύουν για οποιαδήποτε σχεσιακή μηχανή.

Οδηγοί JDBC και συμβολοσειρές σύνδεσης για δημοφιλείς βάσεις δεδομένων

MySQL είναι μόνο μία επιλογή. Το μοτίβο JDBC παραμένει το ίδιο σε όλους τους μηχανισμούς: οι εισαγωγές, η κλήση Statement και ο βρόχος ResultSet δεν αλλάζουν. Μόνο το artifact του προγράμματος οδήγησης και το URL διαφέρουν, επομένως χρησιμοποιήστε τον παρακάτω πίνακα όταν η εφαρμογή που δοκιμάζεται εκτελείται σε άλλη βάση δεδομένων.

βάση δεδομένων Κατηγορία οδηγού Δείγμα σύνδεσης URL Βασική θύρα
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.OracleΟδηγός jdbc:oracle:thin:@localhost:1521:orcl 1521
Ο SQL Server com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:sqlserver://localhost:1433;databaseName=emp 1433

Οι αριθμοί θύρας προκαλούν τις περισσότερες αρχικές αποτυχίες. Ένα σφάλμα απόρριψης σύνδεσης σχεδόν πάντα σημαίνει ότι η θύρα στο URL δεν ταιριάζει με τη θύρα στην οποία ακούει ο διακομιστής. Ελέγξτε τη διαμόρφωση του διακομιστή σας πριν υποθέσετε την προεπιλεγμένη ρύθμιση.

Κάθε πρόγραμμα οδήγησης αποστέλλεται ως ένα μόνο JAR που προσθέτετε στη διαδρομή δημιουργίας ακριβώς όπως φαίνεται στο Βήμα 7. Κάθε μηχανή που αναφέρεται παραπάνω εγγράφεται αυτόματα, επομένως δεν απαιτείται γραμμή Class.forName. Αυτό σημαίνει ότι μια μεμονωμένη μέθοδος βοήθειας μπορεί να εξυπηρετήσει κάθε περιβάλλον στο οποίο στοχεύει η σουίτα σας.

Συχνές Ερωτήσεις

Όχι. Από την έκδοση JDBC 4.0 (Java 6), Το DriverManager ανακαλύπτει προγράμματα οδήγησης μέσω του μηχανισμού ServiceLoader, επομένως η προσθήκη του Connector/J JAR στη διαδρομή κλάσης είναι αρκετή. Διατηρήστε την κλήση μόνο όταν ένα παλαιότερο κοντέινερ αποτύχει να καταχωρήσει αυτόματα το πρόγραμμα οδήγησης.

Το JAR του Connector/J λείπει από τη διαδρομή κλάσης χρόνου εκτέλεσης ή το URL έχει λανθασμένη μορφή. Επιβεβαιώστε ότι το JAR εμφανίζεται στην ενότητα Αναφερόμενες βιβλιοθήκες και ελέγξτε ότι το URL ξεκινά με jdbc:mysql:// και ονομάζει έναν προσβάσιμο κεντρικό υπολογιστή και μια θύρα.

Ναι. Βοηθοί όπως GitHub Copilot Βοηθοί σύνδεσης scaffold, βρόχοι ResultSet και ισχυρισμοί από μια περιγραφή σχήματος. RevΕλέγξτε κάθε δημιουργημένο ερώτημα για τα σωστά ονόματα πινάκων και την ασφάλεια της έγχυσης πριν από την υποβολή.

Τα μοντέλα τεχνητής νοημοσύνης δημιουργούν ρεαλιστικές γραμμές εκκίνησης, προτείνουν οριακές τιμές και επισημαίνουν ισχυρισμούς που μεταβάλλονται μετά από μια μετεγκατάσταση σχήματος. Πλατφόρμες όπως Testim εφαρμόστε αυτό στη συντήρηση, αν και ο ανθρώπινος έλεγχος παραμένει απαραίτητος για την ακεραιότητα των αναφορών.

Πάντα. Μια μη κλειστή σύνδεση ή ένα ResultSet εξαντλεί την ομάδα συνδέσεων διακομιστή σε μια μεγάλη σουίτα. Τυλίξτε τα σε try-with-resources ή κλείστε τα σε ένα μπλοκ @AfterMethod, ώστε η εκκαθάριση να εκτελείται ακόμα και όταν μια διεκδίκηση αποτύχει.

Συνοψίστε αυτήν την ανάρτηση με: