使用 Selenium 进行数据库测试:如何连接?

Selenium 中的数据库连接

Selenium WebDriver 仅限于使用浏览器测试您的应用程序。要使用 Selenium WebDriver 进行数据库验证,您需要使用 JDBC(“Java 数据库连接”)。

JDBC (Java Database Connectivity) 是一个SQL级别 API,允许您执行 SQL 语句。它负责Java编程语言与各种数据库之间的连接。JDBC API 提供了以下类和接口:

  • 驱动管理器
  • 驱动程序
  • 连接
  • 声明
  • 结果集
  • SQLException

如何在 Selenium 中连接数据库

要使用 Selenium 测试您的数据库,您需要遵循以下 3 个步骤:

Connect Database in Selenium

步骤 1) 连接到数据库

连接数据库的语法是:

DriverManager.getConnection(URL, "userid", "password" )

此处,

  • Userid 是数据库中配置的用户名
  • 已配置用户的密码
  • URL 格式为 jdbc:://ipaddress:portnumber/db_name
  • <dbtype> - 您尝试连接的数据库的驱动程序。要连接到 Oracle 数据库,此值将是“oracle”。要连接到 MySQL 中名为“emp”的数据库,URL 将是 jdbc:mysql://:3036/emp

创建连接的代码如下所示:

Connection con = DriverManager.getConnection(dbUrl,username,password);

您还需要使用以下代码加载 JDBC 驱动程序:

Class.forName("com.mysql.jdbc.Driver");

步骤 2) 向数据库发送查询

连接建立后,您需要执行查询。

您可以使用 Statement 对象发送查询。

Statement stmt = con.createStatement();

创建 Statement 对象后,使用 executeQuery 方法执行 SQL 查询

stmt.executeQuery(select *  from employee;);

步骤 3) 处理结果

执行查询的结果存储在 ResultSet 对象中。

Java 提供了大量高级方法来处理结果。下面列出了一些方法:

Process The Results

使用 Selenium 进行数据库测试的示例

步骤 1) 安装 MySQL 服务器MySQL Workbench

在此处查看 Mysql 和 Mysql Workbench 的完整指南here

安装 MySQL Server 时,请记下数据库

  • 用户名
  • 密码
  • 端口号

后续步骤中将需要它。

MySQL Workbench 使管理数据库变得容易,无需编写 SQL 代码。但是,您也可以使用 MySQL 终端与数据库交互。

步骤 2) 在 MySQL WorkBench 中,连接到您的 MySQL 服务器

Database Testing With Selenium

在下一个屏幕中,

  1. 选择 MySQL 的本地实例
  2. 输入端口号
  3. 输入用户名
  4. 输入密码
  5. 点击确定

Database Testing With Selenium

步骤 3) 创建数据库,

  1. 点击创建 Schema 按钮
  2. 输入 Schema/数据库的名称
  3. 点击应用

Database Testing With Selenium

步骤 4) 在导航菜单中,

  1. 点击 emp 数据库下的表
  2. 输入表名为 employee
  3. 输入字段为 Name 和 Age
  4. 点击应用

Database Testing With Selenium

您将看到以下弹出窗口。点击应用

Database Testing With Selenium

步骤 5) 我们将创建以下数据

名称 年龄
顶部 25
尼克 36
比尔 47

将数据创建到表中

  1. 在导航器中,选择 employee 表
  2. 在右侧窗格中,点击表单编辑器
  3. 输入姓名和年龄
  4. 点击应用

Database Testing With Selenium

重复此过程,直到所有数据都创建完成

Database Testing With Selenium

步骤 6) 在此处下载 MySQL JDBC 连接器here

Database Testing With Selenium

步骤 7) 将下载的 Jar 添加到您的项目中

  1. 右键单击您的 Java 文件。然后点击 Build PathàConfigure build path
  2. 选择库
  3. 点击添加外部 JAR
  4. 您可以在库中看到 MySQL 连接器 Java
  5. 点击打开将其添加到项目

Database Testing With Selenium

步骤 8) 将以下代码复制到编辑器中

Package  htmldriver;		
import  java.sql.Connection;		
import  java.sql.Statement;		
import  java.sql.ResultSet;		
import  java.sql.DriverManager;		
import  java.sql.SQLException;		
public class  SQLConnector {				
    	public static void  main(String[] args) throws  ClassNotFoundException, SQLException {													
				//Connection URL Syntax: "jdbc:mysql://ipaddress:portnumber/db_name"		
                String dbUrl = "jdbc:mysql://:3036/emp";					

				//Database Username		
				String username = "root";	
                
				//Database Password		
				String password = "guru99";				

				//Query to Execute		
				String query = "select *  from employee;";	
                
         	    //Load mysql jdbc driver		
           	    Class.forName("com.mysql.jdbc.Driver");			
           
           		//Create Connection to DB		
            	Connection con = DriverManager.getConnection(dbUrl,username,password);
          
          		//Create Statement Object		
        	   Statement stmt = con.createStatement();					
       
       			// Execute the SQL Query. Store results in ResultSet		
         		ResultSet rs= stmt.executeQuery(query);							
         
         		// While Loop to iterate through all data and print results		
				while (rs.next()){
			        		String myName = rs.getString(1);								        
                            String myAge = rs.getString(2);					                               
                            System. out.println(myName+"  "+myAge);		
                    }		
      			 // closing DB Connection		
      			con.close();			
		}
}

步骤 8) 执行代码,并检查输出

Database Testing With Selenium

Selenium 数据库测试摘要

步骤 1) 使用方法连接到数据库。

DriverManager.getConnection(URL, "userid", "password")

步骤 2) 使用 Statement 对象创建数据库查询。

Statement stmt = con.createStatement();

步骤 3) 使用执行查询将查询发送到数据库,并将结果存储在 ResultSet 对象中。

ResultSet rs = stmt.executeQuery(select * from employee;);

Java 提供了许多内置方法来使用 ResultSet 对象处理 SQL 输出