Testowanie bazy danych za pomocą Selenium i JDBC: Jak się połączyć?
⚡ Inteligentne podsumowanie
Testowanie bazy danych przy użyciu Selenium Opiera się na JDBC, ponieważ sam WebDriver weryfikuje tylko warstwę przeglądarki. Te kroki pokazują, jak otworzyć MySQL połączenie, uruchom SQL, odczytaj zestaw wyników i zweryfikuj zapisane dane.

Połączenie z bazą danych w Selenium
Selenium Webdriver jest ograniczony do Testy swoje aplikacje za pomocą przeglądarki. Używać Selenium Webdriver do weryfikacji bazy danych, musisz użyć JDBC („Java Łączność z bazą danych”).
JDBC (Java Łączność z bazą danych) to a SQL Poziom API, który pozwala na wykonywanie instrukcji SQL. Odpowiada za łączność pomiędzy Java Język programowania i szeroki zakres baz danych. API JDBC udostępnia następujące klasy i interfejsy
- Driver Manager
- Kierowca
- Przyłącze
- Zestawienie sprzedaży
- Zestaw wyników
- Wyjątek SQL
Jak podłączyć bazę danych w Selenium
Aby przetestować bazę danych za pomocą Selenium, musisz przestrzegać następujących 3 kroków
Krok 1) Nawiąż połączenie z bazą danych
Aby nawiązać połączenie z bazą danych, stosuje się składnię
DriverManager.getConnection(URL, "userid", "password" )
Tutaj,
- Userid to nazwa użytkownika skonfigurowana w bazie danych
- Hasło skonfigurowanego użytkownika
- URL ma format jdbc:< dbtype>://ipdress:portnumber/db_name”
- - Sterownik bazy danych, z którą próbujesz się połączyć. Aby połączyć się z bazą danych Oracle, ta wartość będzie wynosić „oracle”. Aby połączyć się z bazą danych o nazwie „emp” w MYSQL. URL będzie jdbc:mysql://localhost:3036/emp
I wygląda kod do utworzenia połączenia
Connection con = DriverManager.getConnection(dbUrl,username,password);
Musisz także załadować sterownik JDBC za pomocą kodu
Class.forName("com.mysql.jdbc.Driver");
Krok 2) Wyślij zapytania do bazy danych
Po nawiązaniu połączenia należy wykonać zapytania.
Do wysyłania zapytań można używać obiektu instrukcji.
Statement stmt = con.createStatement();
Po utworzeniu obiektu instrukcji użyj metody wykonywaniaQuery w celu wykonania zapytań SQL
stmt.executeQuery(select * from employee;);
Krok 3) Przetwórz wyniki
Wyniki wykonanego zapytania przechowywane są w obiekcie ResultSet.
Java zapewnia mnóstwo zaawansowanych metod przetwarzania wyników. Poniżej wymieniono kilka metod
Przykład testowania bazy danych za pomocą Selenium
Krok 1) Zainstalować MySQL oraz MySQL Workbench
Sprawdź kompletny przewodnik po Mysql i Mysql Workbench w tym miejscu
Podczas instalacji MySQL Serwer, zwróć uwagę na bazę danych
- Nazwa użytkownika
- Hasło
- Numer portu
Będzie to wymagane w dalszych krokach.
MySQL Workbench ułatwia administrowanie bazą danych bez konieczności kodowania SQL. Chociaż możesz także użyć MySQL Terminal do interakcji z bazą danych.
Krok 2) In MySQL WorkBench, połącz się ze swoim MySQL
Na następnym ekranie
- Wybierz lokalną instancję MySQL
- Wprowadź numer portu
- Wpisz nazwę użytkownika
- Wprowadź hasło
- kliknij OK
Krok 3) Aby utworzyć bazę danych,
- Kliknij przycisk Utwórz schemat
- Wprowadź nazwę schematu/bazy danych
- Kliknij Zastosuj
Krok 4) W menu nawigacyjnym
- Kliknij opcję Tabele pod bazą danych emp
- Wprowadź nazwę tabeli jako pracownik
- Wprowadź pola jako imię i wiek
- Kliknij Zastosuj
Zobaczysz następujące okno podręczne. Kliknij Zastosuj
Krok 5) Utworzymy następujące dane
| Imię i nazwisko | Wiek |
|---|---|
| Topy | 25 |
| Nick | 36 |
| Bill | 47 |
Aby utworzyć dane w tabeli
- W nawigatorze wybierz tabelę pracowników
- W prawym okienku kliknij Edytor formularzy
- Wpisz imię i wiek
- Kliknij Zastosuj
Powtarzaj proces, aż zostaną utworzone wszystkie dane
Krok 6) Pobierz MySQL Złącze JDBC w tym miejscu
Krok 7) Dodaj pobrany Jar do swojego projektu
- Kliknij prawym przyciskiem myszy swój Java Plik. Następnie kliknij Ścieżka kompilacji → Konfiguruj ścieżkę kompilacji
- Wybierz biblioteki
- Kliknij dodaj zewnętrzne pliki JAR
- Możesz zobaczyć MySQL złącze Java w Twojej bibliotece
- Kliknij Otwórz, aby dodać go do projektu
Krok 8) Skopiuj poniższy kod do edytora
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(); } }
Krok 9) Wykonaj kod i sprawdź dane wyjściowe
Te same kroki mają zastosowanie do każdego silnika relacyjnego.
Sterowniki JDBC i ciągi połączeń dla popularnych baz danych
MySQL To tylko jedna z opcji. Wzorzec JDBC pozostaje identyczny we wszystkich silnikach: importy, wywołanie instrukcji i pętla ResultSet nie ulegają zmianie. Zmienia się tylko artefakt sterownika i URL różnią się, dlatego należy użyć poniższej tabeli, gdy testowana aplikacja jest uruchamiana na innej bazie danych.
| Baza danych | Klasa kierowcy | Przykładowe połączenie URL | Domyślny port |
|---|---|---|---|
| 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.OracleKierowca | jdbc:oracle:thin:@localhost:1521:orcl | 1521 |
| SQL Server | com.microsoft.sqlserver.jdbc.SQLServerDriver | jdbc:sqlserver://localhost:1433;databaseName=emp | 1433 |
Numery portów są przyczyną większości awarii przy pierwszym połączeniu. Błąd odrzucenia połączenia prawie zawsze oznacza, że port w URL nie pasuje do portu, na którym serwer faktycznie nasłuchuje. Sprawdź konfigurację serwera przed przyjęciem wartości domyślnej.
Każdy sterownik jest dostarczany jako pojedynczy plik JAR, który dodajesz do ścieżki kompilacji dokładnie tak, jak pokazano w kroku 7. Każdy silnik z listy powyżej rejestruje się automatycznie, więc wiersz Class.forName nie jest wymagany. Oznacza to, że pojedyncza metoda pomocnicza może obsługiwać każde środowisko, na które skierowany jest Twój pakiet.












