如何确认来自 selenium webdriver 的测试数据存储在数据库中?
How to confirm test-data from selenium webdriver is stored in the database?
面试问题:
假设您使用 Apache POI 从测试数据 Excel sheet 中填写字段(例如用户名、密码等)。点击提交按钮后,会发生什么?
您如何确认来自 excel sheet 的测试数据已存储到数据库中?
Selenium WD 和数据库之间的接口是什么?
我会像 user/manual 测试人员那样做。刷新页面,如果您认为应该清除浏览器 storage/cookies(可能通过 运行 在页面中添加一些额外的 Javascript),然后转到可以验证数据是否正确的页面输入成功
您的 username/password 示例应该特别容易测试:它们应该能够通过使用这些凭据登录来验证。当然,可能会有这样一种情况,即您不让用户看到或验证他们之前所做的事情:但我怀疑这种情况相当罕见。
我还怀疑检查数据库中数据的确切方式可能超出了 Selenium 测试的通常范围,并且通常设计为即使您已经完全重新设计了后端也能通过。但是,我看到可以争论说它被验证是有价值的,特别是在应用程序的初始阶段,在 UI 之前,某些东西的唯一影响是数据库中的东西有被创建。我认为许多数据库都提供低级别的 web-ui 到 运行 查询。您可以编写一个测试来启动它并检查您的表单输入的数据是否确实在数据库中。
就 Selenium 而言,Selenium 没有提供连接任何数据库以检查任何存储值的直接工具。
要检查保存的值,您必须根据使用的数据库连接到数据库,如 mysql、oracle 等...您必须先使用支持的 api 连接到数据库,然后执行询问。使用 java 和 mysql-connector-java-5.0.8-bin.jar 在 mysql 数据库上执行查询的示例,下面的代码将 return 可以像任何其他二维数组一样使用的记录集:
String dbClass = "com.mysql.jdbc.Driver";
Class.forName(dbClass);
// Getting Values for dburl,dbUsername and dbPassword from configuration file
String dburl = propertyConfigFile.getProperty("dbURL").toString();
String dbuserName = propertyConfigFile.getProperty("dbUserName").toString();
String dbpassword = propertyConfigFile.getProperty("dbPassword").toString();
qaConnection = (Connection) DriverManager.getConnection (dburl,dbuserName,dbpassword);
Statement stmt = (Statement) con.createStatement();
ResultSet rs = (ResultSet) stmt.executeQuery(sqlQuery);
面试问题: 假设您使用 Apache POI 从测试数据 Excel sheet 中填写字段(例如用户名、密码等)。点击提交按钮后,会发生什么?
您如何确认来自 excel sheet 的测试数据已存储到数据库中?
Selenium WD 和数据库之间的接口是什么?
我会像 user/manual 测试人员那样做。刷新页面,如果您认为应该清除浏览器 storage/cookies(可能通过 运行 在页面中添加一些额外的 Javascript),然后转到可以验证数据是否正确的页面输入成功
您的 username/password 示例应该特别容易测试:它们应该能够通过使用这些凭据登录来验证。当然,可能会有这样一种情况,即您不让用户看到或验证他们之前所做的事情:但我怀疑这种情况相当罕见。
我还怀疑检查数据库中数据的确切方式可能超出了 Selenium 测试的通常范围,并且通常设计为即使您已经完全重新设计了后端也能通过。但是,我看到可以争论说它被验证是有价值的,特别是在应用程序的初始阶段,在 UI 之前,某些东西的唯一影响是数据库中的东西有被创建。我认为许多数据库都提供低级别的 web-ui 到 运行 查询。您可以编写一个测试来启动它并检查您的表单输入的数据是否确实在数据库中。
就 Selenium 而言,Selenium 没有提供连接任何数据库以检查任何存储值的直接工具。
要检查保存的值,您必须根据使用的数据库连接到数据库,如 mysql、oracle 等...您必须先使用支持的 api 连接到数据库,然后执行询问。使用 java 和 mysql-connector-java-5.0.8-bin.jar 在 mysql 数据库上执行查询的示例,下面的代码将 return 可以像任何其他二维数组一样使用的记录集:
String dbClass = "com.mysql.jdbc.Driver";
Class.forName(dbClass);
// Getting Values for dburl,dbUsername and dbPassword from configuration file
String dburl = propertyConfigFile.getProperty("dbURL").toString();
String dbuserName = propertyConfigFile.getProperty("dbUserName").toString();
String dbpassword = propertyConfigFile.getProperty("dbPassword").toString();
qaConnection = (Connection) DriverManager.getConnection (dburl,dbuserName,dbpassword);
Statement stmt = (Statement) con.createStatement();
ResultSet rs = (ResultSet) stmt.executeQuery(sqlQuery);