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<Object[]> jdbc_data() {
List<userdata> userlist = new ArrayList<userdata>();
List<Object[]> userToBe = new ArrayList<Object[]>();
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();
}
}
Selenium应用代码(读取mysql表数据登录)的更多相关文章
- Junit应用代码(读取mysql表数据)
1. 封装连接数据库的类: import java.sql.ResultSet; import java.sql.Connection; import java.sql.DriverManager; ...
- 如何实现MySQL表数据随机读取?从mysql表中读取随机数据
文章转自 http://blog.efbase.org/2006/10/16/244/如何实现MySQL表数据随机读取?从mysql表中读取随机数据?以前在群里讨论过这个问题,比较的有意思.mysql ...
- 利用Flume将MySQL表数据准实时抽取到HDFS
转自:http://blog.csdn.net/wzy0623/article/details/73650053 一.为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取 ...
- MySQL 表数据多久刷一次盘?
前言 事情是这样的,在某乎的邀请回答中看到了这个问题: - 然后当时我没多想就啪一下写下来这样的答案: 这个其实要通过 MySQL 后台线程来刷的,在 Buffer Pool 中被修改的过的 Page ...
- pandas读取MySql/SqlServer数据 (转)
在 Anacondas环境中,conda install pymssql ,一直报包冲突,所以采用先在 https://www.lfd.uci.edu/~gohlke/pythonlibs/#nump ...
- Python mysql表数据和json格式的相互转换
功能: 1.Python 脚本将mysql表数据转换成json格式 2.Python 脚本将json数据转成SQL插入数据库 表数据: SQL查询:SELECT id,NAME,LOCAL,mobil ...
- Python将MySQL表数据写入excel
背景:将mysql表查询结果写入excel. 1.使用sqlyog工具将查询结果导出到Excel.xml中,用excel打开发现:因为text字段中有回车换行操作,显示结果行是乱的. 2.用mysql ...
- linux下用命令导出mysql表数据
由于数据库服务器是内网环境,只能通过linux跳板机连接,所以navicat工具暂时用不上. 1.用Xshell工具连接跳板机 2.再通过跳板机连接数据库服务器 >ssh -p port ip ...
- java读取mysql表的注释及字段注释
/** * 读取mysql某数据库下表的注释信息 * * @author xxx */ public class MySQLTableComment { public static Connectio ...
随机推荐
- (Forward)5 Public Speaking Tips That'll Prepare You for Any Interview
Landing a job interview is incredibly exciting –- and often terrifying. But fear not. There are clev ...
- 快速搭建maven私服 Artifactory on Docker
1.下载官方镜像 docker pull docker.bintray.io/jfrog/artifactory-oss:latest 2.启动容器 docker run --name artifac ...
- 使用 WireShark 分析 TCP/IP 三次握手 和 四次挥手
TCP 三次握手 示意图 Wireshark 抓包注意事项 为了演示一个TCP三次握手建立连接的过程,我们通过 Chrome 访问一个网页. 已知 HTTP 协议就是建立在TCP链接上的 比如访问以下 ...
- 四层协议和Socket编程
<四层协议图> <Soclet编程模型图>
- Jmail发送邮件工具类
好久没更新博客了,实在是拖延症严重啊,好可怕,先更新个工具类吧,之前写的发送邮件的小工具,话不多说上代码 import lombok.extern.slf4j.Slf4j; import java.u ...
- 02HTML-<img>
一.img的属性:alt/title alt属性是替换名字,是给搜索引擎抓取使用,当图片显示不出来时,就会显示出alt的内容: title 属性是提示文字,当鼠标移到图片上的时候会显示出来,大部分的标 ...
- 在vue中安装使用vux
最近因为的工作的原因在弄vue,从后端弄到前端之前一直用js,现在第一次接触vue感觉还挺有意思的,就是自己太菜了,这个脑子呀....不太够用.....页面设计用了一个叫vux的东西,vux可以提供一 ...
- ArrayList的使用方法详解(转)
1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和I ...
- 抖音C#版,自己抓第三方抖音网站
感谢http://dy.lujianqiang.com技术支持 文章更新:http://dy.lujianqiang.com这个服务器已经关了,现在没用了 版权归抖音公司所有,该博客只是为交流学习所使 ...
- Anaconda 执行命令报ssl错误