Selenium WebDriver仅限于测试应用程序使用浏览器。要使用Selenium Webdriver进行数据库验证,需要使用JDBC(“(Java Database Connectivity”)。
JDBC是一种SQL允许执行SQL语句的级别API。它负责Java语言编程语言和广泛的数据库。JDBC API提供以下类和接口
- 驱动程序管理器
- 驱动程序
- 连接
- 声明
- 结果集
- SQLException
在本教程中,将了解
- 建立到数据库的连接
- 将查询发送到数据库
- 处理结果
- 使用Selenium进行数据库测试的示例
为了使用Selenium测试数据库,需要遵循以下3个步骤
1)建立到数据库的连接
为了与数据库建立连接,语法为
这里,
- userid是在数据库中配置的用户名
- 配置的用户的密码
- URL的格式为jdbc:://ipaddress:端口号/db_name“
-
-尝试连接的数据库的驱动程序。要连接到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提供了大量高级方法来处理结果。下面列出了几种方法
使用Selenium进行数据库测试的示例
步骤1) 安装MySQL服务器和MySQL工作台
查看MySQL和MySQL工作台的完整指南这里
安装MySQL Server时,注意数据库
- 用户名
- 密码
- 端口号
在进一步的步骤中将需要它。
MySQL Workbench使数据库管理变得容易,而不需要编写SQL代码。不过,也可以使用MySQL终端与数据库交互。
步骤2) 在MySQL工作台中,连接到MySQL Server
在下一个屏幕中,
- 选择MySQL的本地实例
- 输入端口号
- 输入用户名
- 输入密码
- 单击确定
步骤3) 要创建数据库,执行以下操作
- 单击创建架构按钮
- 输入架构/数据库的名称
- 单击应用
步骤4) 在导航器菜单中,
- 单击emp数据库下面的表
- 将表名输入为员工
- 输入字段作为名称和期限
- 单击应用
将看到以下弹出窗口。单击应用
步骤5) 我们将创建以下数据
名字 | 年龄 |
---|---|
Top | 25 |
Nick | 36 |
Bill | 47 |
在表格中创建数据的步骤
- 在导航器中,选择Employee表
- 在右窗格中,单击表单编辑器
- 输入姓名和年龄
- 单击应用
重复该过程,直到创建完所有数据
步骤6) 下载MySQL JDBC连接器这里
步骤7) 将下载的Jar添加到项目中
- 右键单击Java文件。然后单击Build PathàConfigure Build Path
- 选择库
- 单击Add External Jars(添加外部Jars)
- 可以在库中看到mysql连接器java。
- 单击打开将其添加到项目中
步骤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 = “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) 执行代码,并检查输出
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对象处理SQL输出