tesNG下使用Mysql进行数据驱动

首先需要下载mysql jar包 官网:http://dev.mysql.com/downloads/connector/j/

执行sql语句建库建表添加测试数据,这里不做过多介绍,都是基础知识;别忘记编码改为UTF-8/gbk;

这里我的库名:mysqldata

表明:testdata

直接上代码

package china;

import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import java.io.IOException;
import java.sql.Connection;
import java.sql.*;
import java.sql.DriverManager;
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.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.DataProvider;

public class TestDataDriverByMysqlDatabase {
    public WebDriver driver;
    String baseUrl="http://www.sogou.com";
  @Test(dataProvider = "testData")
  public void f(String searchWord1,String searchWord2,String searchresult){
      driver.get(baseUrl);
      driver.findElement(By.id("query")).sendKeys(searchWord1+""+searchWord2);
      driver.findElement(By.id("stb")).click();
      (new WebDriverWait(driver,10)).until(new ExpectedCondition<Boolean>() {
          @Override
          public Boolean apply(WebDriver d){
             return d.findElement(By.id("s_footer")).getText().contains("搜索帮助");
          }
    });
      Assert.assertTrue(driver.getPageSource().contains(searchresult));
  }
  @BeforeMethod
  public void beforeMethod(){
      System.setProperty("webdriver.chrome.driver", "C:\\chromedriver\\chromedriver.exe");
      driver=new ChromeDriver();
  }

  @AfterMethod
  public void afterMethod() {
      driver.quit();
  }

  @DataProvider(name="testData")
  public static Object[][] words() throws IOException{
    return getTestData("testdata");

  }
  public static Object[][] getTestData(String tablename)throws IOException{
      String driver="com.mysql.jdbc.Driver";
      String url="jdbc:mysql://127.0.0.1:3306/mysqldata";
      String user="root";
      String password="123456";
      List<Object[]>records = new ArrayList<Object[]>();
      try{
          Class.forName(driver);
          Connection conn =DriverManager.getConnection(url,user,password);
          if(!conn.isClosed())
              System.out.println("链接数据库成功");
              Statement statement=conn.createStatement();
              String sql="select * from testdata;";
              ResultSet rs=statement.executeQuery(sql);
              ResultSetMetaData rsMetaData=rs.getMetaData();
              int cols=rsMetaData.getColumnCount();
              while(rs.next()){
                  String fields[]=new String[cols];
                  int col=0;
                  for(int colIdx=0;colIdx<cols;colIdx++){
                      fields[col]=rs.getString(colIdx+1);
                      col++;
                  }
                  records.add(fields);
                  System.out.println(rs.getString(1)+"  "+rs.getString(2)+"  "+rs.getString(3));

              }
              rs.close();
              conn.close();
          }catch(ClassNotFoundException e){
              System.out.println("未找到Mysql的驱动");
              e.printStackTrace();
          }catch(SQLException e){
              e.printStackTrace();
          }catch(Exception e){
              e.printStackTrace();

              }
      Object[][] results=new Object[records.size()][];
      for(int i=0;i<records.size();i++){
          results[i]=records.get(i);

      }
      return results;
  }
}
时间: 2024-11-03 03:32:10

tesNG下使用Mysql进行数据驱动的相关文章

Ubuntu系统下的Mysql安装与使用

摘要 在本篇博文中,笔者将从基础出发,介绍Mysql在Linux环境下的安装和基本使用命令,仅适用于Mysql初学者,大牛请绕道-- 安装Mysql数据库 这里介绍最最简单的安装方式,至于编译安装,可以下载安装包, ./configure 生成Makefile,然后 make clean,  make , make test,  make install  我想这些命令应该很基本了吧,这里不再敖述. 1. 安装命令 [email protected]:~$ sudo apt-get instal

windows下备份mysql方案

总体思想 定时任务调用备份脚本 1.定时任务, 自行研究 2.脚本 c:\mysql_bak\bin\mysqldump.exe -ugbds -pxxxx gbds --hex-blob>c:\mysql_bak\sql\gbds_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.sql 备注: 对于mysqldump.exe可以使用快捷方式复制到使用目录 windows下备份mysql方案,布布扣,bubu

在win7 下编译MySQL源码

MySQL MySQL是一款优秀的开源数据库,在阿里.网易等各个互联网公司中有着广泛的应用.尽管各种NoSQL大行其道,但是关系型数据库依然必不可少. 作为一个新手,在Win7下用源码安装MySql数据库并不容易.我自己都折腾了好几天.今天把安装过程记录下来,其一是为了方便自己以后学习,其二则是分享过程,让学习者能够从我这篇文章中受益. 1. 编译环境及源码下载 编译环境:Visual Studio 2010 (Win7 32位) 编译工具: bison-2.4.1-setup.exe 下载地址

linux 下安装 mysql 并配置 python 开发环境

1.安装 mysql ,安装过程中将提示设置 root 用户的密码,默认可以设置为 rootadmin . $ sudo apt-get install mysql-server 2.安装 mysql 开发工具(不安装时,安装 MySQL-python 提示错误 "mysql_config not found"). $ sudo apt-get install libmysqld-dev 3.安装 python 的 mysql 库 MySQL-python (首先安装 python-d

linux下的mysql

1.到下面地址下载通用二进制包 wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.53-linux2.6-x86_64.tar.gz 2.具体的安装文档 http://dev.mysql.com/doc/refman/5.5/en/binary-installation.html shell> groupadd mysqlshell> useradd -r -g mysql -s /bin/false mysqlshell> c

CentOS下安装mysql

试着在腾讯云服务器上部署web应用,就想着先搭建一下服务器环境,操作系统选的是centos7,在安装好jdk,tomcat后测试可以部署web应用就准备再安装一个mysql数据库,之前试过好几种方式都是以初始密码找不到告终,这次就又重新百度安装方式. 据说centos7没有mysql 的yum源,于是就直接从网上下载mysql的repo源(这个玩意目前还没仔细探究是什么东西,在centos里面应该会涉及到),使用 wget http://repo.mysql.com/mysql-communit

使用kettle工具将文本文件的内容插入Linux虚拟机下的mysql表中

一.      解压kettle包 1.把包拷到Linux系统下 还有mysql的驱动包 2.解压zip后缀的包 输入命令:unzip /software/pdi-ce-7.0.0.0-25.zip 可以把原来的包删了 输入命令:rm -f pdi-ce-7.0.0.0-25.zip 二.      创建数据库和表 三.      把文本文件里的数据插入数据库表中 1.编写好文本文件 2.在kettle中拖一个文本文件输入和一个表输出 3.右键选择编辑步骤编辑文本文件 点击预览,选择你的文本文件

在windows环境下搭建mysql集群

1. 前(fei)言(hua) 最近实训老师给我们布置了一个建立mysql集群的任务,并扔了两个博客链接给我们参考,然后就没有然后了.根据老师给的博客上面的步骤试了一下,发现并不能成功建立,于是自己百度,找到了一个挺靠谱的博客,于是参考了一下,感觉总体还是不错的~ 靠谱的博客: http://blog.csdn.net/mazhaojuan/article/details/42211857 2. 理论基础知识 首先需要了解什么是管理节点.数据节点和SQL节点~ (1)管理结点:从名字可以看出来,

linux下修改MySQL root密码后数据库消失

Linux系统下如果没有通过password()函数修改mysql的root密码就会导致mysql数据库消失.有些人可能不知道而直接修改了mysql的root密码,于是产生了mysql数据库消失的问题,这个时候该怎么处理呢? 可以用下面的办法解决: 1.修改mysql数据库目录配置文件:my.cnf(或my.ini) [mysqld]下添加: skip-grant-tables 2.重启mysql服务,然后用mysql 登录. 3.进入后,可以看到,mysql数据库已呈现,然后修改密码: upd