在这里中,让我们看看如何使用Selenium WebDriver进行数据库测试。此外,Selenium WebDriver是使用户界面自动化的工具。我们只能使用Selenium WebDriver与浏览器进行交互。
有时,我们可能会遇到从数据库获取数据或修改(更新/删除)数据库中数据的情况。如果我们计划使浏览器附近的任何东西自动化,那么我们需要使用其他工具来完成我们的任务。为了实现数据库连接并进行工作,我们需要使用JDBC API驱动程序。
Java数据库连接(JDBC)API提供了来自Java编程语言的通用数据访问。使用JDBC API,您几乎可以访问任何数据源,从关系数据库到电子表格和平面文件。它使用户可以连接数据库并与之交互JDBC是一种SQL级API,允许我们执行SQL语句。它在Java编程语言和数据库之间创建连接。,并根据我们在自动化脚本中使用的查询来获取数据。
使用JDBC驱动程序,我们可以执行以下操作
- 建立数据库连接
- 将SQL查询发送到数据库
- 处理结果
加载所需的JDBC(Java数据库连接)驱动程序类:
代码语言:javascript复制Class.forName("com.mysql.jdbc.Driver");
注意:参数在MySQL,DB2等数据库之间有所不同,
建立与数据库(MS SQL Server)的连接:
代码语言:javascript复制Connection con = DriverManager.getConnection("DataBaseURL", "userName", "password");
连接URL语法(MS SQL Server):
代码语言:javascript复制jdbc:sqlserver://ipAddress:portNumber/dbName
执行SQL查询:
代码语言:javascript复制Statement sqlStatement = con.createStatement();
String sqlQuery = "SELECT * FROM table_name WHERE condition";
ResultSet resSet = sqlStatement.executeQuery(sqlQuery);
来自已执行查询的结果存储在ResultSet对象中。
从结果集中获取数据:
代码语言:javascript复制while (resSet.next()) {
System.out.println(resSet.getString(required_column_name));
}
断开数据库连接:
代码语言:javascript复制con.close();
处理结果的方法列表:
注意:假设您已经安装了数据库。
遵循的步骤–使用Selenium WebDriver进行数据库测试:
- 下载jar文件。
- 将下载的jar文件添加到您的项目中
右键单击Java文件–单击构建路径–配置构建路径–选择库–单击添加外部JAR –选择MSSQL Server JDBC jar –单击“打开”以将其添加到项目中
3.复制以下提到的脚本并根据需要进行修改并执行
注意:您可以在下面的代码片段中找到该脚本的详细说明
从数据库获取数据的脚本–数据库测试:
代码语言:javascript复制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驱动程序
Class.forName("net.sourceforge.jtds.jdbc.Driver");
//创建与数据库的连接
Connection con = DriverManager.getConnection(dbURL,username,password);
//创建语句对象
Statement st = con.createStatement();
String selectquery = "SELECT * FROM <tablename> WHERE <condition>";
//执行SQL查询并将结果存储在ResultSet中
ResultSet rs = st.executeQuery(selectquery);
//While循环遍历所有数据并打印结果
while (rs.next()) {
System.out.println(rs.getString("transaction_datetime"));
}
//关闭数据库连接
con.close();
}
}
用于更新数据库中数据的脚本–数据库测试:
代码语言:javascript复制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 = "UPDATE <table_name> SET <column_name> = <some_value>";
Class.forName("net.sourceforge.jtds.jdbc.Driver");
Connection con = DriverManager.getConnection(dbURL,username,password);
Statement stmt = con.createStatement();
stmt.executeUpdate(updatequery);
con.close();
}
}
删除数据库中数据的脚本–数据库测试:
代码语言:javascript复制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 <table_name>";
Class.forName("net.sourceforge.jtds.jdbc.Driver");
Connection con = DriverManager.getConnection(dbURL,username,password);
Statement stmt = con.createStatement();
stmt.executeUpdate(query);
//关闭数据库连接
con.close();
}
}
如果发现任何困难,请在下面评论。另外,我亲自挑选了几篇文章,可以帮助您了解更多与面试有关的内容