数据驱动测试之——CSV+TestNG
对于利用Webdriver做自动化的童鞋,对于如何将元素或者输入数据如何和编码分离都应该不会太陌生,本着一边学习一边分享的心态,大概总结了一下关于利用CSV、XML以及Excel来存放数据,然后在结合TestNG来执行数据驱动测试。
下面是关于CSV+TestNG进行数据驱动的代码:
package com.util.datadriver; import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List; import org.testng.annotations.DataProvider;
import org.testng.annotations.Test; /**
*
* @author LTao 使用TestNG和CSV文件进行数据驱动
*/
public class DataProviderCSV { //TestNG定义一个DataProvider
@DataProvider(name = "testData")
public static Object[][] words() throws Exception { return getData("date\\testDate.csv"); } //利用TestNG的特性,可以直接在方法中传入参数,这些参数从DataProvider中数据化传进来
@Test(dataProvider = "testData")
public void testDtaa(String input1, String input2, String result1) { System.out.println(input1);
System.out.println(input2);
System.out.println(result1); } public static Object[][] getData(String filePath) throws Exception { String line; //定义list来存放CSV中的数据,数组存放的是每行的数据
List<String[]> list = new ArrayList<String[]>(); //定义一个BufferedReader方便一行一行来读取csv中的数据
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(filePath))); //先读一行,第一行定义的是关键字对应的解释语言,不用存放到list中,
br.readLine();
while ((line = br.readLine()) != null) { String[] fileds = line.split(","); //获取每行的数据
list.add(fileds);
}
br.close(); //定义object[][]二维数组,用list.size()定义二维数组行的限度
Object[][] result = new Object[list.size()][]; for (int i = 0; i < list.size(); i++) { result[i] = list.get(i); //将CSV每行中的数据存放到二维数组中 } return result;
} }
数据驱动测试之——CSV+TestNG的更多相关文章
- 数据驱动测试之—— Excel+TestNG
对于利用Webdriver做自动化的童鞋,对于如何将元素或者输入数据如何和编码分离都应该不会太陌生,本着一边学习一边分享的心态,大概总结了一下关于利用CSV.XML以及Excel来存放数据,然后在结合 ...
- Java&Selenium数据驱动【DataProvider+TestNG+Csv】
Java&Selenium数据驱动[DataProvider+TestNG+Csv] package testNGWithDataDriven; import java.io.Buffered ...
- Java&Selenium数据驱动【DataProvider+TestNG+Excel】
Java&Selenium数据驱动[DataProvider+TestNG+Excel] package testNGWithDataDriven; import java.io.File; ...
- Java&Selenium数据驱动【DataProvider+TestNG+Mysql】
Java&Selenium数据驱动[DataProvider+TestNG+Mysql] package testNGWithDataDriven; import java.io.IOExce ...
- Java&Selenium数据驱动【DataProvider+TestNG+Array】
Java&Selenium数据驱动[DataProvider+TestNG+Array] package testNGWithDataDriven; import java.util.conc ...
- Selenium+java - 使用csv文件做数据驱动
前言 早期我们使用TestNG 来做数据驱动进行测试,测试数据是写在测试用例脚本中.这会使得测试脚本的维护工作量很大.因此我们可以将测试的数据和脚本分开. 而我们经常使用会使用csv文件来做为导出数据 ...
- selenium webdriver testng自动化测试数据驱动
selenium webdriver testng自动化测试数据驱动 selenium webdriver testng自动化测试数据驱动 一.数据驱动测试概念 数据驱动测试是相同的测试脚本使用不同的 ...
- 5.6 TestNg的使用
Java语言编写的WebDriver测试程序通常使用单元测试框架运行.TestNG单元测试框架比JUnit单元测试框架更强大,它提供了更多的扩展功能.目前很大一部分自动化测试工程师已经开始 ...
- selenium+java 数据驱动
一.数据驱动测试概念 数据驱动测试是相同的测试脚本使用不同的测试数据执行,测试数据和测试行为完全分离. 二.实施数据驱动测试的步骤: 1.编写测试脚本,脚本需要支持程序对象.文件或者数据库读入测试数据 ...
随机推荐
- Sql Server 数据库作业备份
DECLARE @fileName nvarchar(100) SET @fileName='C:\DataBase_Back\Base' + REPLACE(REPLACE(REPLACE(REPL ...
- 转://点评Oracle11g新特性之动态变量窥视
1. 11g之前的绑定变量窥视 我们都知道,为了可以让SQL语句共享运行计划,oracle始终都是强调在进行应用系统的设计时,必须使用绑定变量,也就是用一个变量来取代原来出如今SQL语句里的字面值.比 ...
- VsCode之使用WebView通信
之前我在这篇文章VsCode插件开发之插件初步通信 通过插件完成通信,这回我还是通过插件,只不过方式主要以在ts文件里面使用webview来进行通信. 另外在此声明,一定要好好看仔细看官方文档,国内关 ...
- PAT A1139 First Contact (30 分)——set
Unlike in nowadays, the way that boys and girls expressing their feelings of love was quite subtle i ...
- Omi框架学习之旅 - 插件机制之omi-router及原理说明
先来看看官网的介绍吧:https://github.com/AlloyTeam/omi/tree/master/plugins/omi-router 其实我推荐直接看官网的介绍.我所写的,主要给个人做 ...
- 初学Python,对于开发工具不是很了解?一文带你选择适合你的开发工具
工欲善其事必先利其器!想要获取更多的开发工具安装包.安装教程,可以加群:725479218, 开发Python用什么工具好呢?其实刚学Python的话,使用IDLE就够了,虽然调试不是特别方便,但是对 ...
- Luogu4345 SHOI2015 超能粒子炮·改 Lucas、数位DP
传送门 模数小,还是个质数,Lucas没得跑 考虑Lucas的实质.设\(a = \sum\limits_{i=0}^5 a_i 2333^i\),\(b = \sum\limits_{i=0}^5 ...
- 重装系统之win10不能进入bios界面
原因 自Win10发布以来,新出厂的预装Win10的电脑都默认在UEFI模式下启动操作系统.UEFI启动是一种新的主板引导项,正被看做是有近20多年历史的BIOS 的继任者.顾名思义,快速启动是可以提 ...
- EZ 2018 06 17 NOIP2018 模拟赛(十九)
这次的题目难得的水,但是由于许多哲学的原因,第二题题意表述很迷. 然后是真的猜题意了搞了. 不过这样都可以涨Rating我也是服了. Upt:链接莫名又消失了 A. 「NOIP2017模拟赛11.03 ...
- 洛谷 4823 [TJOI2013]拯救小矮人
题目链接-> 噔楞 题解: 贪心 按个高+臂长排序. 个矮臂长的先走,个高臂短的后走 #include <cstdio> #include <cstring> #incl ...