Testování databáze pomocí Selenium a JDBC: Jak se připojit?
⚡ Chytré shrnutí
Testování databáze pomocí Selenium spoléhá na JDBC, protože samotný WebDriver ověřuje pouze vrstvu prohlížeče. Tyto kroky ukazují, jak otevřít MySQL připojení, spuštění SQL, čtení sady výsledků (ResultSet) a ověření uložených dat.

Připojení k databázi v Selenium
Selenium Webdriver je omezen na Testování aplikace pomocí prohlížeče. Použít Selenium Webdriver pro ověření databáze musíte použít JDBC („Java Připojení k databázi“).
JDBC (Java Databázová konektivita) je a SQL API úrovně, které umožňuje spouštět příkazy SQL. Je zodpovědný za propojení mezi Java Programovací jazyk a široká škála databází. JDBC API poskytuje následující třídy a rozhraní
- Správce ovladačů
- Řidič
- Přípojka
- výkaz
- Sada výsledků
- SQLException
Jak připojit databázi v Selenium
Chcete-li otestovat svou databázi pomocí Selenium, musíte dodržet následující 3 kroky
Krok 1) Vytvořte připojení k databázi
Pro připojení k databázi je syntaxe
DriverManager.getConnection(URL, "userid", "password" )
Zde,
- Userid je uživatelské jméno nakonfigurované v databázi
- Heslo nakonfigurovaného uživatele
- URL má formát jdbc:<dbtype>://ipaddress:číslo_portu/název_db”
- - Ovladač pro databázi, ke které se pokoušíte připojit. Pro připojení k databázi Oracle bude tato hodnota „oracle“. Pro připojení k databázi s názvem „emp“ v MYSQL URL bude jdbc:mysql://localhost:3036/emp
A kód pro vytvoření spojení vypadá
Connection con = DriverManager.getConnection(dbUrl,username,password);
Musíte také načíst ovladač JDBC pomocí kódu
Class.forName("com.mysql.jdbc.Driver");
Krok 2) Odešlete dotazy do databáze
Jakmile je připojení vytvořeno, musíte provést dotazy.
Objekt Statement Object můžete použít k odesílání dotazů.
Statement stmt = con.createStatement();
Jakmile je objekt příkazu vytvořen, použijte metodu executeQuery ke spuštění dotazů SQL
stmt.executeQuery(select * from employee;);
Krok 3) Zpracujte výsledky
Výsledky z provedeného dotazu jsou uloženy v objektu ResultSet.
Java poskytuje spoustu pokročilých metod pro zpracování výsledků. Níže je uvedeno několik metod
Příklad testování databáze s Selenium
Krok 1) instalovat MySQL Server a MySQL Workbench
Podívejte se na kompletní průvodce Mysql & Mysql Workbench zde
Při instalaci MySQL Server, poznamenejte si databázi
- Uživatelské jméno
- Heslo
- Číslo portu
Bude to vyžadováno v dalších krocích.
MySQL Workbench usnadňuje správu databáze bez nutnosti kódování SQL. Můžete však také použít MySQL Terminál pro interakci s databází.
Krok 2) In MySQL WorkBench, připojte se k vašemu MySQL Server
Na další obrazovce
- Vyberte místní instanci MySQL
- Zadejte číslo portu
- Zadejte uživatelské jméno
- Zadejte heslo
- klepněte na tlačítko OK
Krok 3) Chcete-li vytvořit databázi,
- Klikněte na tlačítko vytvořit schéma
- Zadejte název schématu/databáze
- Klikněte na tlačítko Použít
Krok 4) V nabídce navigátoru
- Klikněte na Tabulky pod databází emp
- Zadejte název tabulky jako zaměstnanec
- Zadejte pole jako jméno a věk
- Klikněte na tlačítko Použít
Uvidíte následující vyskakovací okno. Klepněte na tlačítko Použít
Krok 5) Vytvoříme následující data
| Jméno | věk |
|---|---|
| Top | 25 |
| Nick | 36 |
| Bill | 47 |
Chcete-li vytvořit data do tabulky
- V navigátoru vyberte tabulku zaměstnanců
- V pravém podokně klikněte na Editor formuláře
- Zadejte jméno a věk
- Klikněte na tlačítko Použít
Proces opakujte, dokud nebudou vytvořena všechna data
Krok 6) stáhněte MySQL JDBC konektor zde
Krok 7) Přidejte stažený Jar do svého projektu
- Klikněte pravým tlačítkem na svůj Java Soubor. Poté klikněte na Cesta sestavení à Konfigurovat cestu sestavení
- Vyberte knihovny
- Klikněte na přidat externí JAR
- Můžete vidět MySQL konektor java ve vaší knihovně
- Kliknutím na otevřít jej přidáte do projektu
Krok 8) Zkopírujte následující kód do editoru
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) Spusťte kód a zkontrolujte výstup
Stejné kroky platí pro jakýkoli relační engine.
Ovladače JDBC a připojovací řetězce pro oblíbené databáze
MySQL je pouze jedna možnost. Vzor JDBC zůstává napříč enginy stejný: importy, volání příkazu Statement a smyčka ResultSet se nemění. Pouze artefakt ovladače a URL liší se, proto použijte tabulku níže, pokud testovaná aplikace běží na jiné databázi.
| Databáze | Třída řidiče | Ukázkové připojení URL | Výchozí port |
|---|---|---|---|
| MySQL | com.mysql.cj.jdbc.Ovladač | jdbc:mysql://localhost:3306/emp | 3306 |
| PostgreSQL | org.postgresql.Ovladač | jdbc:postgresql://localhost:5432/emp | 5432 |
| Oracle | oracle.jdbc.OracleŘidič | jdbc:oracle:thin:@localhost:1521:orcl | 1521 |
| SQL Server | com.microsoft.sqlserver.jdbc.SQLServerDriver | jdbc:sqlserver://localhost:1433;databaseName=emp | 1433 |
Čísla portů způsobují většinu prvních selhání. Chyba odmítnutí připojení téměř vždy znamená, že port v URL neodpovídá portu, na kterém server skutečně naslouchá. Před přijetím výchozí hodnoty zkontrolujte konfiguraci serveru.
Každý ovladač se dodává jako jeden JAR soubor, který přidáte do cesty sestavení přesně tak, jak je znázorněno v kroku 7. Každý výše uvedený engine se zaregistruje automaticky, takže není vyžadován žádný řádek Class.forName. To znamená, že jedna pomocná metoda může obsluhovat každé prostředí, na které je vaše sada cílová.












