世界がビッグデータに向かって進化しているように、データベースはレコードを処理し、そのシーケンスを維持する上で大きな役割を果たしています。 データの処理中に欠陥がないことを確認するには、データベーステストが不可欠です。 自動化テストでは、Seleniumはデータベースをテストするための機能を提供するのに役立つツールの1つです。 Seleniumトレーニングの詳細を取得します。
以下は、私がこの記事でカバーするトピックです:
- Java Database Connectivity
- 共通JDBCコンポーネント
- JDBCアプリケーションを作成する手順
- Selenium WebDriverとは何ですか?
- Selenium WebDriverを使用したデータベーステスト
- データベーステストの手順
Java Database Connectivity
JDBCは、Javaプログラミング言語と幅広いデータベース間のデータベースに依存しない接続のための標準的なJava APIの一つである。 このアプリケーションプログラムインターフェイス(API)を使用すると、構造化クエリ言語(SQL)でアクセス要求文をエンコードできます。 その後、データベースを管理するプログラムに渡されます。 これは主に、接続を開き、SQLデータベースを作成し、SQLクエリを実行してから出力に到達することを含みます。
JDBC APIを使用して、任意のリレーショナルデータベースに格納されている表形式のデータにアクセスできます。 このJDBC APIの助けを借りて、データベースからデータを保存、更新、削除、フェッチすることができます。 これは、Microsoftが提供するOpen Database Connectivity(ODBC)に似ています。
共通JDBCコンポーネント
JDBC APIには、次のインターフェイスとクラスが用意されています−
- DriverManager:データベースドライバのリストを管理するために使用されます。 このドライバは、データベース接続を確立するためにJDBCの下の特定のサブプロトコルを認識します。
- ドライバー:データベースサーバーとの通信を処理するインターフェイスです。
- 接続:データベースへの接続に必要なすべてのメソッドで構成されるインターフェイスです。 Connectionオブジェクトは、データベースとの通信全体がconnectionオブジェクトのみを介して行われる通信コンテキストを表します。
次のトピックに進み、JDBCアプリケーションを作成するために必要な手順を見てみましょう。
JDBCアプリケーションを作成する手順
JDBCアプリケーションを作成するには、いくつかの手順に従う必要があります。 彼らが何であるか見てみましょう。
- パッケージのインポート: まず、主にデータベースプログラミングに必要なJDBCクラスを含むパッケージを含める必要があります。
- JDBCドライバの登録:ここでは、データベースとの通信チャネルを開くためにドライバを初期化する必要があります。 以下のようなコマンドの助けを借りてデータベースに登録することができます:
Class。forName(“com.mysqlです。——-ドライバ”);//クラス。forName load The Driver class - 接続を開く:ドライバの登録後、getConnection()メソッドを使用して、データベースとの物理的な接続を表すConnectionオブジェクトを作成できます。
- クエリの実行:ここでは、SQLステートメントを構築してデータベースに送信するために、タイプ’Statement’のオブジェクトを使用する必要があります。
- 結果セットからデータを抽出する:結果セットからデータを取得するには、適切なgetXXX()メソッドを使用する必要があります。
- 環境のクリーンアップ:ここでは、JVMガベージコレクションに依存するすべてのデータベースリソースを明示的に閉じる必要があります。
JDBCアプリケーションを作成してクエリを実行する方法を知りたい場合は、Advanced Java Tutorialのこの記事をチェックしてください。 次に、Seleniumを使用してデータベーステストを実行する方法を見てみましょう。 始める前に、まず、Selenium WebDriverとは何かを理解しましょう。
Selenium WebDriverとは何ですか?
Seleniumは、webアプリケーションのテストを自動化するために使用されるオープンソースのポータブルフレームワークの一つです。 それは機能的および回帰テストケースをテストすることになると、それは柔軟性があります。 Seleniumテストスクリプトは、Java、Python、C#などのさまざまなプログラミング言語で書くことができます。 これらのすべてのseleniumテストスクリプトは、Chrome、Safari、Firefox、Operaなどのさまざまなブラウザで実行でき、Windows、Mac OS、Linux、Solarisなどのさまざまなプラットフォームでのサポートも提供します。 Seleniumは、堅牢なブラウザベースの回帰自動化スイートを作成し、テストを実行するのにも役立ちます。
セレンの基礎を理解していただければ幸いです。 次に、さらに進んで、Seleniumを使用してデータベーステストを実行する方法を理解しましょう。
Seleniumを使用したデータベーステスト
一般に、Seleniumはデータベーステストをサポートしていませんが、JDBCとODBCを使用して部分的に行うことができます。 この記事では、基本的にJavaプログラムをデータベースに接続して、データを取得し、TestNGを使用して検証しています。
Seleniumを使用したデータベーステストを実行する手順を段階的に見てみましょう。
ステップバイステップデータベーステストの手順
ステップ1:データベースを作成する必要があります。 MySQLコマンドの実行方法を学習したい場合は、MySQLチュートリアルのこの記事をチェックしてください。ステップ2:テーブルの作成と値の挿入が完了したら、データベースへの接続を確立できます。
ステップ3:接続を確立した後、クエリを実行し、データベースに存在するレコードを処理することができます。 クエリを実行して結果セットを処理する方法を理解するには、Advanced Java Tutorial articleを参照してください。興味深いのは、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 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();}}}
上記のコードでは、データベースにアクセスするためのデータベースURL、データベースユーザー名、およびパスワードを指定しました。
次に、Before Testアノテーションを使用して、テストケースを実行する前に実行する必要があるアクションを実行しました。 上記の例では、MySQLドライバーを登録してデータベースへの接続を確立しています。 これは私がMySQLデータベースを使用しているためです。 その後、statementオブジェクトを作成しています。
データベース接続が完了したら、次のステップはクエリを実行して結果を処理することです。 したがって、クエリを実行し、結果を印刷し、レコードを処理するすべての手順は、テストの一部です。 したがって、TestNGのテスト注釈が続きます。
テストを実行した後、最後のステップは、データベース接続を閉じることです。 それがAfterTest注釈が続く理由です。 これは、それに応じてタスクを分割する必要がある方法です。 上記のコードをTestNG testとして実行すると、データベースに存在するすべての詳細が出力され、テストケースが実行されます。
出力は以下のようになります:
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===============================================
だから、それはすべてSeleniumを使用したデータベーステストに関するものでした。 私はあなたが概念を理解し、それがあなたの知識に価値を加えたことを願っています。 さて、Seleniumについてのより多くの洞察を得たい場合は、Selenium Tutorialの記事をチェックすることができます。
この”Seleniumを使用したデータベーステスト”が関連していることがわかった場合は、世界中に250,000人以上の満足した学習者のネットワークを持つ信頼できるオンラ