在测试过程中,我们需要比较UI中的数据与实际存储在自动化UI测试数据库中的数据。
这种测试叫做Database Validation
因为你可以使用SQL语句来执行数据库查询,假设你有数据库支持功能,你可以使用它们来检索数据并且使用这些数据来验证那些在AUT中显示的数据正确与否。
下面是一个例子:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://192.168.xx;DatabaseName=TEST_DB";
public static Connection con =
DriverManager.getConnection(url, "username", "password");
public static Statement stmt = con.createStatement();
ResultSet result = stmt.executeQuery
("select top 1 email_address from user_register_table");
result.next();
String emailaddress = result.getString("email_address");
driver.findElement(By.id, "userID").sendKeys(emailaddress);
driver.findElement(By.id, "password").sendKeys(secretPassword);
driver.findElement(By.id, "loginButton").click();
WebElement element = driver.findElement(By.xpath, "//*[contains(.,'Welcome back ')]");
Assert.assertTrue(element.getText().contains(emailaddress), "Unable to log in for user" + emailaddress)
这样一个简单的例子就完成了对email、中的数据与页面中的显示数据的正确性验证和比较。
在以后的取数据库数据与UI数据作比较就可以采用这样的方式。