selenium mysql_Selenium应用代码(读取mysql表数据登录)

1. 封装链接数据库的类:

import java.sql.ResultSet;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

public class DBhelp {

public static final String url = "jdbc:mysql://***:3306/databasename";

public static final String user = "user";

public static final String password = "password";

public java.sql.Connection con = null;

public java.sql.PreparedStatement ps = null;

ResultSet rs = null;

userdata userdata= new userdata();

public DBhelp(String sql) {

try {

con = DriverManager.getConnection(url, user, password);//获取连接

ps = con.prepareStatement(sql);//准备执行语句

rs = ps.executeQuery();

} catch (Exception e) {

e.printStackTrace();

}

}

public void close() {

try {

this.con.close();

this.ps.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

2. 封装登录的用户类:

public class userdata {

public String username;

public String password;

public String errNote;

public void setusername(String username){

this.username=username;

}

public String getusername(){

return username;

}

public void setpassword(String password){

this.password=password;

}

public String getpassword(){

return password;

}

public void seterrNote(String errNote){

this.errNote=errNote;

}

public String geterrNote(){

return errNote;}

}

3. testng读取表数据测试登录:

import org.testng.annotations.Test;

import com.mysql.jdbc.Connection;

import com.mysql.jdbc.PreparedStatement;

import org.openqa.selenium.By;

import org.openqa.selenium.WebElement;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.Collection;

import java.util.Iterator;

import java.util.List;

import org.testng.annotations.BeforeSuite;

import org.testng.annotations.BeforeTest;

import org.testng.annotations.DataProvider;

public class LoginJDBC {

public String sql = "select USER_NM,PASSWORD,NOTE from data_user";

static ResultSet ret = null;

userdata user=new userdata();

Login wm=new Login();

public String baseUrl = "url";

public String LinkTest;

public String LinkTestPassWord;

@Test(dataProvider = "jdbc_data")

public void DBlogin(userdata user) throws Exception {

wm.Loginindex(baseUrl, user.username,user.password);

WebElement tips=wm.driver.findElement(By.xpath("//*[@id='J_Mod_Login']/div[2]/div[1]/form/div[1]/div"));

if(tips.getText().matches(user.errNote)){

System.out.println(user.errNote+":pass");

Thread.sleep(3000);

}

else{

System.out.println(user.errNote+":error");

Thread.sleep(2000);

}

}

@DataProvider

public Iterator jdbc_data() {

List userlist = new ArrayList();

List userToBe = new ArrayList();

DBhelp db1 = new DBhelp(sql);//创建DBHelpe对象

//读取表数据,封装为步骤2定义的user对象数组

try {

ret = db1.ps.executeQuery();//执行语句,得到结果集

while (ret.next()) {

user.setusername(ret.getString("USER_NM"));

user.setpassword(ret.getString("PASSWORD"));

user.seterrNote(ret.getString("NOTE"));

userlist.add(user);

}//显示数据

ret.close();

db1.close();//关闭连接

//转为Object元素

for (userdata userData:userlist)

{

userToBe.add(new Object[] { userData } );

}

} catch (SQLException e) {

e.printStackTrace();

}

return userToBe.iterator();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值