SeleniumWebDriver运行数据库测试?

2021-01-12 14:57:43 浏览数 (1)

在这里中,让我们看看如何使用Selenium WebDriver进行数据库测试。此外,Selenium WebDriver是使用户界面自动化的工具。我们只能使用Selenium WebDriver与浏览器进行交互。

有时,我们可能会遇到从数据库获取数据或修改(更新/删除)数据库中数据的情况。如果我们计划使浏览器附近的任何东西自动化,那么我们需要使用其他工具来完成我们的任务。为了实现数据库连接并进行工作,我们需要使用JDBC API驱动程序。

Java数据库连接(JDBC)API提供了来自Java编程语言的通用数据访问。使用JDBC API,您几乎可以访问任何数据源,从关系数据库到电子表格和平面文件。它使用户可以连接数据库并与之交互JDBC是一种SQL级API,允许我们执行SQL语句。它在Java编程语言和数据库之间创建连接。,并根据我们在自动化脚本中使用的查询来获取数据。

使用JDBC驱动程序,我们可以执行以下操作

  1. 建立数据库连接
  2. 将SQL查询发送到数据库
  3. 处理结果

加载所需的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进行数据库测试:

  1. 下载jar文件。
  2. 将下载的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();
     }
}

如果发现任何困难,请在下面评论。另外,我亲自挑选了几篇文章,可以帮助您了解更多与面试有关的内容

0 人点赞