package com.gloryroad.testcase;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class TestDataDrivenByMysql {
public WebDriver driver;
private String url="http://www.baidu.com";
@BeforeMethod
public void setUp(){
driver=new FirefoxDriver();
driver.get(url);
}
@AfterMethod
public void tearDown(){
driver.close();
}
@DataProvider(name="search")
public static Object[][] words(){
return getTestData("testdata");
}
@Test(dataProvider="search")
public void testSearch(String word1,String word2,String word3){
driver.findElement(By.id("kw")).sendKeys(word1+" "+word2);
}
public static Object[][] getTestData(String tableName){
String driverName="com.mysql.jdbc.Driver";
//声明本地数据库的位置
String url="jdbc:mysql://127.0.0.1:3306/test";
//声明用户名
String uer="root";
//声明密码
String password="123456";
List<Object[]> alist=new ArrayList<Object[]>();
try {
Class.forName(driverName);
Connection connection=DriverManager.getConnection(url, uer, password);
if (!connection.isClosed()) {
System.out.println("数据库连接成功");
}
Statement statement=connection.createStatement();
String sql="select * from "+tableName;
ResultSet res=statement.executeQuery(sql);
ResultSetMetaData rsMetaData=res.getMetaData();
int cols=rsMetaData.getColumnCount();
System.out.println(cols);
while (res.next()) {
String[] fileds=new String[cols];
int col=0;
for (int i = 1; i < cols+1; i++) {
fileds[col]=res.getString(i);
System.out.println(res.getString(i));
col+=1;
}
alist.add(fileds);
System.out.println(res.getString(1)+" "+res.getString(2)+" "+res.getString(3));
}
res.close();
connection.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
Object[][] result=new Object[alist.size()][];
for (int i = 0; i < alist.size(); i++) {
result[i]=alist.get(i);
}
return result;
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class TestDataDrivenByMysql {
public WebDriver driver;
private String url="http://www.baidu.com";
@BeforeMethod
public void setUp(){
driver=new FirefoxDriver();
driver.get(url);
}
@AfterMethod
public void tearDown(){
driver.close();
}
@DataProvider(name="search")
public static Object[][] words(){
return getTestData("testdata");
}
@Test(dataProvider="search")
public void testSearch(String word1,String word2,String word3){
driver.findElement(By.id("kw")).sendKeys(word1+" "+word2);
}
public static Object[][] getTestData(String tableName){
String driverName="com.mysql.jdbc.Driver";
//声明本地数据库的位置
String url="jdbc:mysql://127.0.0.1:3306/test";
//声明用户名
String uer="root";
//声明密码
String password="123456";
List<Object[]> alist=new ArrayList<Object[]>();
try {
Class.forName(driverName);
Connection connection=DriverManager.getConnection(url, uer, password);
if (!connection.isClosed()) {
System.out.println("数据库连接成功");
}
Statement statement=connection.createStatement();
String sql="select * from "+tableName;
ResultSet res=statement.executeQuery(sql);
ResultSetMetaData rsMetaData=res.getMetaData();
int cols=rsMetaData.getColumnCount();
System.out.println(cols);
while (res.next()) {
String[] fileds=new String[cols];
int col=0;
for (int i = 1; i < cols+1; i++) {
fileds[col]=res.getString(i);
System.out.println(res.getString(i));
col+=1;
}
alist.add(fileds);
System.out.println(res.getString(1)+" "+res.getString(2)+" "+res.getString(3));
}
res.close();
connection.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
Object[][] result=new Object[alist.size()][];
for (int i = 0; i < alist.size(); i++) {
result[i]=alist.get(i);
}
return result;
}
}