Selenium数据库测试

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

JDBC(Java数据库连接)是一种SQL驱动器,允许执行SQL语句的级别API。它负责 Java语言编程语言和广泛的数据库。JDBC API提供以下类和接口

  • DriverManager
  • Driver
  • Connection
  • Statement
  • ResultSet
  • SQLException

在本教程中,将了解

  • 建立到数据库的连接
  • 将查询发送到数据库
  • 处理结果
  • 使用Selenium进行数据库测试的示例

为了使用Selenium测试数据库,需要遵循以下3个步骤

Database Testing using Selenium: Step by Step Guide
Database Testing using Selenium: Step by Step Guide

1) 建立到数据库的连接

为了与数据库建立连接,语法为

DriverManager.getConnection(URL, “userid”, “password” )

这里,

  • userid是在数据库中配置的用户名
  • 配置的用户的密码
  • URL的格式为jdbc:://ipaddress:端口号/db_name“
  • <dbtype>-尝试连接的数据库的驱动程序。要连接到oracle数据库,此值将为“oracle”。

要连接到MySQL URL中名为“emp”的数据库,URL将为jdbc:mysql://localhost:3036/emp

创建连接的代码如下所示

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

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

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

2) 向数据库发送查询

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

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

 Statement stmt = con.createStatement();
 

一旦创建了Statement对象,就可以使用ecuteQuery方法执行SQL查询

 stmt.executeQuery("select *  from employee;");
 

3) 对结果进行处理

执行查询的结果存储在ResultSet对象中。 Java提供了大量高级方法来处理结果。下面列出了几种方法

Database Testing using Selenium: Step by Step Guide
Database Testing using Selenium: Step by Step Guide

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

步骤1) 安装 MySQL服务器和MySQL控制台

查看MySQL和MySQL工作台的完整指南

安装MySQL Server时,注意数据库

  • 用户名
  • 密码
  • 端口号

在进一步的步骤中将需要它。

MySQL Workbench使数据库管理变得容易,而不需要编写SQL代码。不过,也可以使用MySQL终端与数据库交互。

步骤2) 在MySQL控制台中,连接到MySQL Server

Database Testing using Selenium: Step by Step Guide
Database Testing using Selenium: Step by Step Guide

在下一个页面中,

  1. 选择MySQL的本地实例
  2. 输入端口号
  3. 输入用户名
  4. 输入密码
  5. 单击确定
Database Testing using Selenium: Step by Step Guide
Database Testing using Selenium: Step by Step Guide

步骤3) 要创建数据库,执行以下操作

  1. 单击创建架构按钮
  2. 输入架构/数据库的名称
  3. 单击应用
Database Testing using Selenium: Step by Step Guide
Database Testing using Selenium: Step by Step Guide

步骤4) 在导航器菜单中,

  1. 单击emp数据库下面的表
  2. 将表名输入为员工
  3. 输入字段作为名称和期限
  4. 单击应用
Database Testing using Selenium: Step by Step Guide
Database Testing using Selenium: Step by Step Guide

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

Database Testing using Selenium: Step by Step Guide
Database Testing using Selenium: Step by Step Guide

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

名字 年龄
Top 25
Nike 36
Bill 47

在表格中创建数据的步骤

  1. 在导航器中,选择Employee表
  2. 在右窗格中,单击表单编辑器
  3. 输入姓名和年龄
  4. 单击应用
Database Testing using Selenium: Step by Step Guide
Database Testing using Selenium: Step by Step Guide

重复该过程,直到创建完所有数据

Database Testing using Selenium: Step by Step Guide
Database Testing using Selenium: Step by Step Guide

步骤6) 下载MySQL JDBC连接器 这里 这里

Database Testing using Selenium: Step by Step Guide
Database Testing using Selenium: Step by Step Guide

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

  1. 右键单击Java文件。然后单击Build PathàConfigure Build Path
  2. 选择库
  3. 单击Add External Jars(添加外部Jars)
  4. 可以在库中看到mysql连接器java。
  5. 单击打开将其添加到项目中
Database Testing using Selenium: Step by Step Guide
Database Testing using Selenium: Step by Step Guide

步骤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://localhost:3036/emp";
        //Database Username
        String username = "root";
        //Database Password
        String password = "itxiaonv";
        //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 using Selenium: Step by Step Guide
Database Testing using Selenium: Step by Step Guide

Selenium数据库测试步骤总结

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

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

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

 Statement stmt = con.createStatement();
 

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

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

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

IT赶路人

专注IT知识分享