Know How to Perform Database Testing Using Selenium – A Step By Step Guide

Da sich die Welt in Richtung Big Data entwickelt, spielt die Datenbank eine wichtige Rolle bei der Handhabung der Datensätze und der Aufrechterhaltung der Reihenfolge. Um sicherzustellen, dass bei der Verarbeitung der Daten keine Fehler auftreten, sind Datenbanktests unerlässlich. Im Automatisierungstest ist Selenium ein solches Tool, das bei der Bereitstellung von Funktionen zum Testen der Datenbank hilft. Weitere Details erhalten Sie mit dem Selenium Training.

Unten sind die Themen, die ich in diesem Artikel behandeln werde:

  • Java Database Connectivity
    • Allgemeine JDBC-Komponenten
    • Schritte zum Erstellen einer JDBC-Anwendung
  • Was ist Selenium WebDriver?
  • Datenbanktests mit Selenium WebDriver
  • Schrittweises Verfahren zum Testen von Datenbanken

Java-Datenbankkonnektivität

JDBC ist eine der Standard-Java-APIs für die datenbankunabhängige Konnektivität zwischen der Programmiersprache Java und einer Vielzahl von Datenbanken. Mit dieser Anwendungsprogrammschnittstelle (API) können Sie die Zugriffsanforderungsanweisungen in einer strukturierten Abfragesprache (SQL) codieren. Sie werden dann an das Programm übergeben, das die Datenbank verwaltet. Es geht hauptsächlich darum, eine Verbindung zu öffnen, eine SQL-Datenbank zu erstellen, SQL-Abfragen auszuführen und dann zur Ausgabe zu gelangen.

Wir können die JDBC-API verwenden, um auf Tabellendaten zuzugreifen, die in einer relationalen Datenbank gespeichert sind. Mit Hilfe dieser JDBC-API können wir Daten aus den Datenbanken speichern, aktualisieren, löschen und abrufen. Es ähnelt der von Microsoft bereitgestellten Open Database Connectivity (ODBC).

Gemeinsame JDBC-Komponenten

Die JDBC-API bietet die folgenden Schnittstellen und Klassen −

  • DriverManager: Es wird verwendet, um eine Liste von Datenbanktreibern zu verwalten. Dieser Treiber erkennt unter JDBC ein bestimmtes Subprotokoll, um eine Datenbankverbindung herzustellen.
  • Treiber: Es ist eine Schnittstelle, die die Kommunikation mit dem Datenbankserver übernimmt.
  • Verbindung: Es handelt sich um eine Schnittstelle, die aus allen Methoden besteht, die zum Herstellen einer Verbindung zu einer Datenbank erforderlich sind. Das Verbindungsobjekt stellt einen Kommunikationskontext dar, wobei die gesamte Kommunikation mit der Datenbank nur über das Verbindungsobjekt erfolgt.

Gehen wir nun zum nächsten Thema über und sehen uns die Schritte an, die zum Erstellen einer JDBC-Anwendung erforderlich sind.

Schritte zum Erstellen einer JDBC-Anwendung

Um eine JDBC-Anwendung zu erstellen, müssen wir einige Schritte ausführen. Mal sehen, was sie sind.

Schritte zum Erstellen einer JDBC-Anwendung - Advanced Java tutorial - Edureka

  1. Importieren Sie die Pakete: Zuerst müssen Sie die Pakete einschließen, die die JDBC-Klassen enthalten, die hauptsächlich für die Datenbankprogrammierung benötigt werden.
  2. Registrieren Sie den JDBC-Treiber: Hier müssen Sie einen Treiber initialisieren, damit Sie einen Kommunikationskanal mit der Datenbank öffnen können. Sie können sich mit Hilfe des folgenden Befehls in der Datenbank registrieren:
    Class .forName(„mit.mysql.jdbc.Treiber“); // Klasse.Zum Beispiel laden Sie die Treiberklasse
  3. Öffnen Sie eine Verbindung: Nach der Treiberregistrierung können Sie mit der Methode getConnection() ein Verbindungsobjekt erstellen, das eine physische Verbindung mit der Datenbank darstellt.
  4. Abfrage ausführen: Hier müssen Sie ein Objekt vom Typ ‚Statement‘ verwenden, um eine SQL-Anweisung zu erstellen und an die Datenbank zu senden.
  5. Daten aus der Ergebnismenge extrahieren: Um die Daten aus der Ergebnismenge abzurufen, müssen Sie die entsprechende Methode getXXX() verwenden.
  6. Bereinigen Sie die Umgebung: Hier müssen Sie explizit alle Datenbankressourcen schließen, die auf der JVM-Garbage Collection basieren.

Wenn Sie wissen möchten, wie Sie eine JDBC-Anwendung erstellen und Abfragen ausführen, können Sie diesen Artikel über Advanced Java Tutorial lesen. Lassen Sie uns nun sehen, wie Sie Datenbanktests mit Selen durchführen. Bevor ich anfange, lasst uns zuerst verstehen, was Selenium WebDriver ist.

Was ist Selenium WebDriver?

Selenium - Selenium WebDriver Architecture - Edureka

Selenium ist eines der tragbaren Open-Source-Frameworks zur Automatisierung des Testens von Webanwendungen. Es ist flexibel, wenn es um das Testen von Funktions- und Regressionstestfällen geht. Selenium-Testskripte können in verschiedenen Programmiersprachen wie Java, Python, C # und vielen anderen geschrieben werden. Alle diese Selenium-Testskripte können in verschiedenen Browsern wie Chrome, Safari, Firefox, Opera ausgeführt werden und bieten Unterstützung für verschiedene Plattformen wie Windows, Mac OS, Linux und Solaris. Selenium hilft auch bei der Erstellung robuster, browserbasierter Regressionsautomatisierungssuiten und bei der Durchführung von Tests.

Ich hoffe, Sie haben die Grundlagen von Selen verstanden. Lassen Sie uns nun weiter gehen und verstehen, wie Datenbanktests mit Selen durchgeführt werden.

Datenbanktests mit Selen

Im Allgemeinen unterstützt Selenium keine Datenbanktests. In diesem Artikel verbinde ich das Java-Programm grundsätzlich mit einer Datenbank, um die Daten abzurufen und mithilfe von TestNG zu überprüfen.

Datenbanktests mit Selenium - Datenbanktests mit Selenium - Edureka

Sehen wir uns Schritt für Schritt an, wie Datenbanktests mit Selenium durchgeführt werden.

Schritt für Schritt Verfahren zum Testen der Datenbank

Schritt 1: Sie müssen eine Datenbank erstellen. Wenn Sie lernen möchten, wie Sie MySQL-Befehle ausführen, können Sie diesen Artikel zum MySQL-Tutorial lesen.

Schritt 2: Wenn Sie mit dem Erstellen von Tabellen und dem Einfügen von Werten fertig sind, können Sie eine Verbindung zur Datenbank herstellen.

Schritt 3: Nach dem Herstellen der Verbindung können Sie die Abfragen ausführen und die in Ihrer Datenbank vorhandenen Datensätze verarbeiten. Sie können den Artikel Advanced Java Tutorial lesen, um zu verstehen, wie die Abfragen ausgeführt und die Ergebnismenge verarbeitet werden.

Das Interessante ist nun, dass ich TestNG in JDBC integrieren werde, um Datenbanktests durchzuführen. Mal sehen, wie man das mit Hilfe des folgenden Programms macht.

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 objectstatic Connection con = null;// Statement objectprivate static Statement stmt;// Constant for Database URLpublic static String DB_URL = "jdbc:mysql://localhost/emp";// Constant for Database Usernamepublic static String DB_USER = "your_user";// Constant for Database Passwordpublic static String DB_PASSWORD = "your_password";@BeforeTestpublic void setUp() throws Exception {try{// Make the database connectionString dbClass = "com.mysql.cj.jdbc.Driver";Class.forName(dbClass).newInstance();// Get connection to DBConnection con = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);// Statement object to send the SQL statement to the Databasestmt = con.createStatement();}catch (Exception e){e.printStackTrace();}}@Testpublic void test() {try{String query = "select * from employees";// Get the contents of userinfo table from DBResultSet 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 falsewhile (res.next()){System.out.print(res.getString(1));System.out.print("" + res.getString(2));System.out.print("" + res.getString(3));System.out.println("" + res.getString(4));}}catch(Exception e){e.printStackTrace();}}@AfterTestpublic void tearDown() throws Exception {// Close DB connectionif (con != null) {con.close();}}}

Im obigen Code habe ich die Datenbank-URL, den Datenbankbenutzernamen und das Kennwort für den Zugriff auf die Datenbank angegeben.

Als nächstes habe ich die Before Test Annotation verwendet, um die Aktionen auszuführen, die vor dem Ausführen der Testfälle ausgeführt werden sollen. Im obigen Beispiel stelle ich eine Verbindung zur Datenbank her, indem ich den MySQL-Treiber registriere. Dies liegt daran, dass ich MySQL-Datenbank verwende. Danach erstelle ich ein Anweisungsobjekt.

Sobald die Datenbankverbindung hergestellt ist, besteht der nächste Schritt darin, die Abfragen auszuführen und die Ergebnisse zu verarbeiten. Alle Prozeduren zum Ausführen der Abfragen, zum Drucken der Ergebnisse und zum Verarbeiten der Datensätze sind also Teil des Tests. Es folgt also eine Testanmerkung von TestNG.

Nach Durchführung des Tests besteht der letzte Schritt darin, die Datenbankverbindung zu schließen. Deshalb folgt AfterTest Annotation . So müssen Sie die Aufgaben entsprechend aufteilen. Wenn Sie den obigen Code als TestNG-Test ausführen, werden alle in der Datenbank vorhandenen Details gedruckt und die Testfälle ausgeführt.

Ihre Ausgabe sollte wie unten gezeigt aussehen:

 detected TestNG version 6.14.2100 18 Zara Ali101 25 Mahnaz Fatma102 30 Zaid Khan103 28 Sumit MittalPASSED: test===============================================Default testTests run: 1, Failures: 0, Skips: 0==============================================================================================Default suiteTotal tests run: 1, Failures: 0, Skips: 0===============================================

Also, das war alles über Datenbanktests mit Selenium. Ich hoffe, Sie haben die Konzepte verstanden und Ihr Wissen erweitert. Wenn Sie weitere Einblicke in Selen erhalten möchten, können Sie den Artikel zum Selenium-Tutorial lesen.

Wenn Sie dieses „Datenbanktests mit Selenium“ relevant fanden, schauen Sie sich das Selenium Certification Training von Edureka an, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt.

Write a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht.