SeleniumWebDriver運(yùn)行數(shù)據(jù)庫測試?
在這里中,讓我們看看如何使用Selenium WebDriver進(jìn)行數(shù)據(jù)庫測試。此外,Selenium WebDriver是使用戶界面自動化的工具。我們只能使用Selenium WebDriver與瀏覽器進(jìn)行交互。
有時(shí),我們可能會遇到從數(shù)據(jù)庫獲取數(shù)據(jù)或修改(更新/刪除)數(shù)據(jù)庫中數(shù)據(jù)的情況。如果我們計(jì)劃使瀏覽器附近的任何東西自動化,那么我們需要使用其他工具來完成我們的任務(wù)。為了實(shí)現(xiàn)數(shù)據(jù)庫連接并進(jìn)行工作,我們需要使用JDBC API驅(qū)動程序。
Java數(shù)據(jù)庫連接(JDBC)API提供了來自Java編程語言的通用數(shù)據(jù)訪問。使用JDBC API,您幾乎可以訪問任何數(shù)據(jù)源,從關(guān)系數(shù)據(jù)庫到電子表格和平面文件。它使用戶可以連接數(shù)據(jù)庫并與之交互JDBC是一種SQL級API,允許我們執(zhí)行SQL語句。它在Java編程語言和數(shù)據(jù)庫之間創(chuàng)建連接。,并根據(jù)我們在自動化腳本中使用的查詢來獲取數(shù)據(jù)。
使用JDBC驅(qū)動程序,我們可以執(zhí)行以下操作
建立數(shù)據(jù)庫連接
將SQL查詢發(fā)送到數(shù)據(jù)庫
處理結(jié)果
加載所需的JDBC(Java數(shù)據(jù)庫連接)驅(qū)動程序類:
Class.forName("com.mysql.jdbc.Driver");注意:參數(shù)在MySQL,DB2等數(shù)據(jù)庫之間有所不同,
建立與數(shù)據(jù)庫(MS SQL Server)的連接:
Connection con = DriverManager.getConnection("DataBaseURL", "userName", "password");連接URL語法(MS SQL Server):
jdbc:sqlserver://ipAddress:portNumber/dbName執(zhí)行SQL查詢:
Statement sqlStatement = con.createStatement();String sqlQuery = "SELECT * FROM table_name WHERE condition";ResultSet resSet = sqlStatement.executeQuery(sqlQuery);
來自已執(zhí)行查詢的結(jié)果存儲在ResultSet對象中。
從結(jié)果集中獲取數(shù)據(jù):
while (resSet.next()) {? ? System.out.println(resSet.getString(required_column_name));}
斷開數(shù)據(jù)庫連接:
con.close();處理結(jié)果的方法列表:

注意:假設(shè)您已經(jīng)安裝了數(shù)據(jù)庫。
遵循的步驟–使用Selenium WebDriver進(jìn)行數(shù)據(jù)庫測試:
下載jar文件。
將下載的jar文件添加到您的項(xiàng)目中
右鍵單擊Java文件–單擊構(gòu)建路徑–配置構(gòu)建路徑–選擇庫–單擊添加外部JAR –選擇MSSQL Server JDBC jar –單擊“打開”以將其添加到項(xiàng)目中
3.復(fù)制以下提到的腳本并根據(jù)需要進(jìn)行修改并執(zhí)行
注意:您可以在下面的代碼片段中找到該腳本的詳細(xì)說明
從數(shù)據(jù)庫獲取數(shù)據(jù)的腳本–數(shù)據(jù)庫測試:
package softwareTestingMaterial;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DBTesting {public static void selectQuery() throws SQLException, ClassNotFoundException {String dbURL = "jdbc:sqlserver://ipAddress:portNumber/dbName";String username = myUserName;String password = myPassword;//加載MS SQL JDBC驅(qū)動程序Class.forName("net.sourceforge.jtds.jdbc.Driver");//創(chuàng)建與數(shù)據(jù)庫的連接Connection con = DriverManager.getConnection(dbURL,username,password);//創(chuàng)建語句對象Statement st = con.createStatement();String selectquery = "SELECT * FROMWHERE ;" //執(zhí)行SQL查詢并將結(jié)果存儲在ResultSet中ResultSet rs = st.executeQuery(selectquery);//While循環(huán)遍歷所有數(shù)據(jù)并打印結(jié)果while (rs.next()) {System.out.println(rs.getString("transaction_datetime"));}//關(guān)閉數(shù)據(jù)庫連接con.close();}}
用于更新數(shù)據(jù)庫中數(shù)據(jù)的腳本–數(shù)據(jù)庫測試:
package softwareTestingMaterial;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DBTesting {public static void updateQuery() throws ClassNotFoundException, SQLException{String dbURL = "jdbc:sqlserver://ipAddress:portNumber/dbName";String username = myUserName;String password = myPassword;String updatequery = "UPDATESET ;= " Class.forName("net.sourceforge.jtds.jdbc.Driver");Connection con = DriverManager.getConnection(dbURL,username,password);Statement stmt = con.createStatement();stmt.executeUpdate(updatequery);con.close();}}
刪除數(shù)據(jù)庫中數(shù)據(jù)的腳本–數(shù)據(jù)庫測試:
package softwareTestingMaterial;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DBTesting {public static void deleteQuery() throws SQLException, ClassNotFoundException {String dbURL = "jdbc:sqlserver://ipAddress:portNumber/dbName";String username = myUserName;String password = myPassword;String query = "DELETE FROM" ;Class.forName("net.sourceforge.jtds.jdbc.Driver");Connection con = DriverManager.getConnection(dbURL,username,password);Statement stmt = con.createStatement();stmt.executeUpdate(query);//關(guān)閉數(shù)據(jù)庫連接con.close();}}
如果發(fā)現(xiàn)任何困難,請?jiān)谙旅嬖u論。另外,我親自挑選了幾篇文章,可以幫助您了解更多與面試有關(guān)的內(nèi)容:
往期推薦
