Знать, как выполнять тестирование базы данных с помощью Selenium

Поскольку мир развивается в сторону больших данных, база данных играет важную роль в обработке записей и поддержании их последовательности. Чтобы гарантировать отсутствие дефектов при обработке данных, необходимо тестирование базы данных. В Автоматизированное тестирование, Selenium является одним из таких инструментов, который помогает в обеспечении функциональных возможностей для тестирования базы данных. В этой статье я расскажу вам, как выполнять тестирование базы данных с помощью Selenium.

Связь с базой данных Java

JDBC — это один из стандартных Java API для независимой от базы данных связи между языком программирования Java и широким спектром баз данных. Этот интерфейс прикладной программы (API) позволяет кодировать операторы запроса доступа на языке структурированных запросов (SQL). Затем они передаются программе, управляющей базой данных. В основном это включает в себя открытие соединения, создание базы данных SQL, выполнение запросов SQL и получение результата.

Мы можем использовать JDBC API для доступа к табличным данным, хранящимся в любой реляционной базе данных. С помощью этого JDBC API мы можем сохранять, обновлять, удалять и извлекать данные из баз данных. Он похож на Open Database Connectivity (ODBC), предоставляемый Microsoft.

Общие компоненты JDBC

API JDBC предоставляет следующие интерфейсы и классы:

  • ДрайверМенеджер: Он используется для управления списком драйверов базы данных. Этот драйвер распознает определенный подпротокол в JDBC, чтобы установить соединение с базой данных.
  • Водитель: Это интерфейс, который управляет связью с сервером базы данных.
  • Связь: Это интерфейс, который состоит из всех методов, необходимых для подключения к базе данных. Объект подключения представляет собой контекст связи, в котором вся связь с базой данных осуществляется только через объект подключения.

Теперь давайте перейдем к следующей теме и рассмотрим шаги, необходимые для создания приложения JDBC.

Шаги для создания приложения JDBC

Чтобы создать приложение JDBC, нам нужно выполнить несколько шагов. Давайте посмотрим, какие они.

Steps-to-create-JDBC-Application-Advanced-Java-tutorial-Edureka-768x359.png

  1. Импортируйте пакеты: Во-первых, вам нужно включить пакеты, содержащие классы JDBC, необходимые в основном для программирования баз данных.
  2. Зарегистрируйте драйвер JDBC: Здесь вам нужно инициализировать драйвер, чтобы вы могли открыть канал связи с базой данных. Вы можете зарегистрироваться в базе данных с помощью следующей команды, например:
    Class.forName(«com.mysql.jdbc.Driver»); // class.forName загружает класс Driver
  3. Откройте соединение: После регистрации водителя вы можете использовать получитьсоединение() метод для создания объекта Connection, представляющего физическое соединение с базой данных.
  4. Выполните запрос: Здесь вам нужно использовать объект типа «Выписка» для создания и отправки инструкции SQL в базу данных.
  5. Извлеките данные из набора результатов: Чтобы получить данные из набора результатов, вам нужно использовать соответствующий получитьXXX() метод.
  6. Очистите окружающую среду: Здесь вам нужно явно закрыть все ресурсы базы данных, которые полагаются на сборку мусора JVM.

Если вы хотите узнать, как создать приложение JDBC и выполнять запросы, вы можете прочитать эту статью на Расширенное руководство по Java. Теперь давайте посмотрим, как выполнить тестирование базы данных с помощью Selenium. Прежде чем я начну, сначала давайте разберемся, что такое Selenium WebDriver.

Что такое Selenium WebDriver?

Selenium — одна из переносимых сред с открытым исходным кодом, используемая для автоматизации тестирования веб-приложений. Он гибок, когда дело доходит до тестирования функциональных и регрессионных тестов. Тестовые сценарии Selenium можно писать на разных языках программирования, таких как Java, Python, C# и многих других. Все эти сценарии тестирования селена могут работать в различных браузерах, таких как Chrome, Safari, Firefox, Opera, а также обеспечивают поддержку на различных платформах, таких как Windows, Mac OS, Linux, Solaris. Selenium также помогает создавать надежные наборы автоматизации регрессии на основе браузера и выполнять тесты.

Тестирование базы данных с использованием Selenium

В общем, Selenium не поддерживает Тестирование базы данных, тем не менее, частично это можно сделать с помощью JDBC и ODBC. В этой статье я в основном подключаю программу Java к базе данных для извлечения данных и проверки их с помощью TestNG.

Картинка1-502x300.png

Давайте рассмотрим пошаговую процедуру тестирования базы данных с помощью Selenium.

Пошаговая процедура тестирования базы данных

Шаг 1: Вам нужно создать базу данных. Если вы хотите узнать, как выполнять команды MySQL, вы можете прочитать эту статью на Учебник по MySQL.

Шаг 2: Как только вы закончите создавать таблицы и вставлять значения, вы можете установить соединение с базой данных.

Шаг 3: После установления соединения вы можете выполнять запросы и обрабатывать записи, имеющиеся в вашей базе данных. Вы можете обратиться к Расширенное руководство по Java статью, чтобы понять, как выполнять запросы и обрабатывать набор результатов.

Теперь интересно то, что я буду интегрировать TestNG с JDBC для выполнения тестирования базы данных. Давайте посмотрим, как это сделать с помощью приведенной ниже программы.

package co.edureka.pages;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class DatabaseTesingDemo {
// Connection object
static Connection con = null;
// Statement object
private static Statement stmt;
// Constant for Database URL
public static String DB_URL = "jdbc:mysql://localhost/emp";
// Constant for Database Username
public static String DB_USER = "your_user";
// Constant for Database Password
public static String DB_PASSWORD = "your_password";

@BeforeTest
public void setUp() throws Exception {
try{
// Make the database connection
String dbClass = "com.mysql.cj.jdbc.Driver";
Class.forName(dbClass).newInstance();
// Get connection to DB
Connection con = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
// Statement object to send the SQL statement to the Database
stmt = con.createStatement();
}
catch (Exception e)
{
e.printStackTrace();
}
}

@Test
public void test() {
try{
String query = "select * from employees";
// Get the contents of userinfo table from DB
ResultSet res = stmt.executeQuery(query);
// Print the result untill all the records are printed
// res.next() returns true if there is any next record else returns false
while (res.next())
{
System.out.print(res.getString(1));
System.out.print("\t" + res.getString(2));
System.out.print("\t" + res.getString(3));
System.out.println("\t" + res.getString(4));
}
}
catch(Exception e)
{
e.printStackTrace();
}
}

@AfterTest
public void tearDown() throws Exception {
// Close DB connection
if (con != null) {
con.close();
}
}
}

В приведенном выше коде я указал URL-адрес базы данных, имя пользователя базы данных и пароль для доступа к базе данных.

Затем я использовал аннотацию «Перед тестом» для выполнения действий, которые должны произойти перед выполнением тестовых случаев. В приведенном выше примере я устанавливаю соединение с базой данных, регистрируя драйвер MySQL. Это потому, что я использую базу данных MySQL. После этого я создаю объект оператора.

После завершения подключения к базе данных следующим шагом будет выполнение запросов и обработка результатов. Таким образом, все процедуры выполнения запросов и печати результатов и обработки записей являются частью теста. Поэтому за ним будет следовать тестовая аннотация TestNG.

После выполнения теста последний шаг — закрыть соединение с базой данных. Вот почему за ним следует аннотация AfterTest. Вот как вам нужно разделить задачи соответственно. Когда вы выполняете приведенный выше код в качестве теста TestNG, он распечатывает все детали, присутствующие в базе данных, и выполняет тестовые примеры.

Ваш вывод должен выглядеть так, как показано ниже:

[RemoteTestNG] detected TestNG version 6.14.2
100 18 Zara Ali
101 25 Mahnaz Fatma
102 30 Zaid Khan
103 28 Sumit Mittal
PASSED: test

===============================================
Default test
Tests run: 1, Failures: 0, Skips: 0
===============================================

===============================================
Default suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================

Итак, это было все о тестировании баз данных с использованием Selenium. Я надеюсь, что вы поняли концепции, и это добавило ценности вашим знаниям.

Есть к нам вопрос? Пожалуйста, укажите это в разделе комментариев к статье «Тестирование баз данных с использованием Selenium», и мы свяжемся с вами.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *