数据库实现驱动测试


public class fanwe_login_database {
//读取数据库的方法
public static Object[][] getTestData(String tablename) throws Exception {
//声明MySQL的数据驱动
String diver = "com.mysql.jdbc.Driver";
//声明数据库的Ip地址和数据库名称
String url ="jdbc:mysql://IP地址:端口号/路径";
//账户名密码
String user = 用户名;
String password=密码;
//声明存储测试数据的list对象
List<Object[]> records = new ArrayList<Object[]>();
//设置驱动
Class.forName(diver);
//声明链接数据库的链接对象,使用数据库服务器地址,用户名,密码作为参数
Connection connection = DriverManager.getConnection(url,user,password);
//如果数据库可用,打印成功信息
if(!connection.isClosed()){
System.out.println("链接数据库成功");
}
//创建statement对象
Statement statement = connection.createStatement();
String sql = "SELECT user_name FROM "+tablename+" where id >=10000";
//声明ResultSet对象,存取执行sql语句后返回的数据结果集
ResultSet result = statement.executeQuery(sql);
//声明一个ResultSetMetaData对象
ResultSetMetaData resultSetMetaData = result.getMetaData();
//行数
int cols = resultSetMetaData.getColumnCount();
//使用next方法变量数据结果集中的所有数据行
while (result.next()) {
int col = 0;
//声明一个字符型数组,按行数设置数组大小
String fields[] = new String[cols];
for (int i = 0; i <cols ; i++) {
fields[col] = result.getString(i+1);
col++;

}

records.add(fields);
}
result.close();
statement.close();

// 将存储测试数据的list装换成一个object的二维数组
Object[][] results = new Object[records.size()][];
for (int i = 0; i <records.size() ; i++) {
results[i] = records.get(i);
}
return results;

}
//调用获取object二维数组的数据的方法
@DataProvider(name = "testData")
public Object[][] getData() throws Exception {
return getTestData("fanwe_user");
}

//读取数据库用户名,批量登录
@Test(dataProvider = "testData")
public void Login_database(String loginName) throws Exception {
CloseableHttpClient client = HttpClientBuilder.create().build();
HttpPost post = new HttpPost("http://192.168.232.138/fanwe/index.php?ctl=user&act=dologin&fhash=TDgVAYxwiNcSRoQVJLMltGilpDmXCaOSWYUzpoTtkeVaBIROhf");
//设置请求头
post.setHeader("Content-Type", "application/x-www-form-urlencoded");
//请求参数
String param = "email="+loginName+"&user_pwd=eGhJQ2hmQXdFUWRxanRhY2habEJMR1hUSVBrVmtTSWRDaHRqdm5PV21IWGxFc3ZTcWclMjV1NjVCOSUyNXU3RUY0Y3h5MTIzNDU2JTI1dThGNkYlMjV1NEVGNg==&ajax=1";
StringEntity entity =new StringEntity(param);
post.setEntity(entity);
CloseableHttpResponse response = client.execute(post);
String result = EntityUtils.toString(response.getEntity());
//将响应结果装换成json
JSONObject jsonObject = new JSONObject(result);
jsonObject.get("status");
int status = (int) jsonObject.get("status");
String info = (String) jsonObject.get("info");
System.out.println("status: "+status+" info: "+info);
Assert.assertEquals(2,status);

}
}
posted @ 2021-08-16 16:35  韩伊  阅读(92)  评论(0)    收藏  举报