Тестування бази даних за допомогою Selenium та JDBC: Як підключитися?
⚡ Розумний підсумок
Тестування бази даних за допомогою Selenium спирається на JDBC, оскільки сам WebDriver перевіряє лише рівень браузера. Ці кроки показують, як відкрити MySQL з'єднання, виконати SQL, прочитати ResultSet та перевірити збережені дані.

Підключення до бази даних в Selenium
Selenium Webdriver обмежено Тестування ваші програми за допомогою браузера. Використовувати Selenium Webdriver for Database Verification, вам потрібно використовувати JDBC (“Java Підключення до бази даних”).
JDBC (Java Підключення до бази даних) є a SQL рівень API, який дозволяє виконувати оператори SQL. Він відповідає за зв'язок між Java Мова програмування та широкий спектр баз даних. JDBC API надає наступні класи та інтерфейси
- Менеджер водіїв
- Водій
- Connection
- Заява
- ResultSet
- SQLException
Як підключити базу даних в Selenium
Щоб перевірити свою базу даних за допомогою Selenium, вам потрібно виконати наступні 3 кроки
Крок 1) Встановіть підключення до бази даних
Для встановлення з’єднання з базою даних синтаксис є
DriverManager.getConnection(URL, "userid", "password" )
Тут,
- Userid – це ім’я користувача, налаштоване в базі даних
- Пароль налаштованого користувача
- URL має формат jdbc:<тип_бази_об'єкта>://ipaddress:номер_порту/назва_бази_об'єкта»
- - Драйвер для бази даних, до якої ви намагаєтеся підключитися. Для підключення до бази даних Oracle це значення буде «oracle». Для підключення до бази даних з іменем «emp» у MYSQL URL буде jdbc:mysql://localhost:3036/emp
А код для створення підключення виглядає так
Connection con = DriverManager.getConnection(dbUrl,username,password);
Вам також потрібно завантажити драйвер JDBC за допомогою коду
Class.forName("com.mysql.jdbc.Driver");
Крок 2) Надішліть запити до бази даних
Після встановлення з’єднання потрібно виконати запити.
Ви можете використовувати Statement Object для надсилання запитів.
Statement stmt = con.createStatement();
Після створення об’єкта оператора використовуйте метод executeQuery для виконання запитів SQL
stmt.executeQuery(select * from employee;);
Крок 3) Обробіть результати
Результати виконаного запиту зберігаються в об’єкті ResultSet.
Java надає безліч додаткових методів для обробки результатів. Деякі з методів перераховані нижче
Приклад тестування бази даних з Selenium
Крок 1) Встановлювати MySQL сервер та MySQL Верстак
Перегляньте повний посібник із Mysql і Mysql Workbench тут
Під час встановлення MySQL Сервер, зверніть увагу на базу даних
- ім'я користувача
- Пароль
- Номер порту
Це знадобиться на подальших етапах.
MySQL Workbench полегшує адміністрування бази даних без необхідності кодування SQL. Однак ви також можете використовувати MySQL Термінал для взаємодії з базою даних.
Крок 2) In MySQL WorkBench, підключіться до свого MySQL сервер
На наступному екрані
- Виберіть локальний екземпляр MySQL
- Введіть номер порту
- Введіть ім'я користувача
- Введіть пароль
- натисніть OK
Крок 3) Щоб створити базу даних,
- Натисніть кнопку створити схему
- Введіть назву схеми/бази даних
- Клацніть Застосувати
Крок 4) У меню навігатора
- Натисніть «Таблиці» під базою даних emp
- Введіть назву таблиці як співробітника
- Введіть поля як ім'я та вік
- Клацніть Застосувати
Ви побачите таке спливаюче вікно. Натисніть Застосувати
Крок 5) Ми створимо наступні дані
| ІМ'Я | вік |
|---|---|
| Toп | 25 |
| Nick | 36 |
| Bill | 47 |
Щоб створити дані в таблиці
- У навігаторі виберіть таблицю співробітників
- На правій панелі клацніть «Редактор форм».
- Введіть ім'я та вік
- Клацніть Застосувати
Повторюйте процес, доки не буде створено всі дані
Крок 6) Завантажити MySQL роз'єм JDBC тут
Крок 7) Додайте завантажений Jar до свого проекту
- Клацніть правою кнопкою миші на вашому Java Файл. Потім натисніть «Шлях збірки» à «Налаштувати шлях збірки»
- Виберіть бібліотеки
- Натисніть «Додати зовнішні файли JAR».
- Ви можете бачити, MySQL конектор java у вашій бібліотеці
- Натисніть «Відкрити», щоб додати його до проекту
Крок 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(); } }
Крок 9) Виконайте код і перевірте результат
Ті самі кроки застосовуються до будь-якого реляційного механізму.
Драйвери JDBC та рядки підключення для популярних баз даних
MySQL лише один із варіантів. Шаблон JDBC залишається ідентичним для всіх рушіїв: імпорт, виклик Statement та цикл ResultSet не змінюються. Тільки артефакт драйвера та URL відрізняються, тому використовуйте таблицю нижче, коли тестований застосунок працює на іншій базі даних.
| Database | Клас водія | Зразок підключення URL | Порт за умовчанням |
|---|---|---|---|
| MySQL | com.mysql.cj.jdbc.Драйвер | jdbc:mysql://localhost:3306/emp | 3306 |
| PostgreSQL | org.postgresql.Драйвер | 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;ім'яБазиДаних=emp | 1433 |
Номери портів спричиняють більшість перших збоїв. Помилка відмови у з’єднанні майже завжди означає, що порт у URL не відповідає порту, який фактично прослуховує сервер. Перевірте конфігурацію сервера, перш ніж використовувати значення за замовчуванням.
Кожен драйвер постачається як окремий JAR-файл, який ви додаєте до шляху збірки точно так, як показано на кроці 7. Кожен перелічений вище рушій реєструється автоматично, тому рядок Class.forName не потрібен. Це означає, що один допоміжний метод може обслуговувати кожне середовище, на яке орієнтований ваш пакет.












