Feed4TestNG可以很容易地编写和导入的数据文件(CSV或Excel)来达到参数化的TestNG测试。
官网介绍:http://databene.org/feed4testng.html
下载地址:http://sourceforge.net/projects/feed4testng/
这里写了一个简单的Demo,下面是下载地址,帖子最后提供了相关jar的下载。
Demo 下载地址:
开源测试交流群 群共享 :237754909
文件名 : Feed4TestNG-Demo-1.rar
准备工作 :
使用Feed4TestNG做excel数据驱动,需要将相关的jar包导入,具体用到的jar包如下图所示:

日志相关的jar:
log4j-1.2.14.jar
slf4j-api-1.5.8.jar
slf4j-log4j12-1.5.8.jar
feed4testng提供的jar:
feed4testng-1.0.jar
databene-webdecs-0.6.1.jar
databene-commons-0.5.9.jar
databene-benerator-0.7.1.jar
解析excel需要的jar:
poi-3.5-beta6.jar
testng运行必须的jar:
testng.jar
JSR验证需要的jar:
validation-api-1.0.0.GA.jar
代码:package cn.opentest.test;
import org.databene.benerator.anno.Source;
import org.databene.feed4testng.FeedTest;
import org.testng.annotations.Test;
public class Feed4TestExcel extends FeedTest {
@Test(dataProvider = "feeder")
// test.xls这个文件在项目的根目录
@Source("test.xls")
public void testLogin(String id, String name, String pass) {
System.out
.println("id:" + id + "; name:" + name + "; password:" + pass);
System.out.println("");
}
}
excel 内容如下:
数据文件 test.xls 需要放在项目的根目录下,如果放到别的路径,需要在代码中指定一下。

Console 输出:[TestNG] Runnin***ocuments and Settings\Administrator\Local Settings\Temp\testng-eclipse--1179389159\testng-customsuite.xml
log4j:WARN No appenders could be found for logger (org.databene.commons.IOUtil).
log4j:WARN Please initialize the log4j system properly.
id:1; name:opentest1; password:opentest11
id:2; name:opentest2; password:opentest12
id:3; name:opentest3; password:opentest13
id:4; name:opentest4; password:opentest14
id:5; name:opentest5; password:opentest15
id:6; name:opentest6; password:opentest16
id:7; name:opentest7; password:opentest17
id:8; name:opentest8; password:opentest18
id:9; name:opentest9; password:opentest19
id:10; name:开源测试10; password:开源测试1010
PASSED: testLogin("1", "opentest1", "opentest11")
PASSED: testLogin("2", "opentest2", "opentest12")
PASSED: testLogin("3", "opentest3", "opentest13")
PASSED: testLogin("4", "opentest4", "opentest14")
PASSED: testLogin("5", "opentest5", "opentest15")
PASSED: testLogin("6", "opentest6", "opentest16")
PASSED: testLogin("7", "opentest7", "opentest17")
PASSED: testLogin("8", "opentest8", "opentest18")
PASSED: testLogin("9", "opentest9", "opentest19")
PASSED: testLogin("10", "开源测试10", "开源测试1010")
===============================================
Default test
Tests run: 10, Failures: 0, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 10, Failures: 0, Skips: 0
===============================================
[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@df8ff1: 15 ms
[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@18e2b22: 16 ms
[TestNG] Time taken by org.testng.reporters.EmailableReporter@1c39a2d: 15 ms
[TestNG] Time taken by org.testng.reporters.jq.Main@f84386: 32 ms
[TestNG] Time taken by org.testng.reporters.XMLReporter@1971afc: 15 ms
[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 0 ms
[attach]171[/attach]
官网介绍:http://databene.org/feed4testng.html
下载地址:http://sourceforge.net/projects/feed4testng/
这里写了一个简单的Demo,下面是下载地址,帖子最后提供了相关jar的下载。
Demo 下载地址:
开源测试交流群 群共享 :237754909
文件名 : Feed4TestNG-Demo-1.rar
准备工作 :
使用Feed4TestNG做excel数据驱动,需要将相关的jar包导入,具体用到的jar包如下图所示:

日志相关的jar:
log4j-1.2.14.jar
slf4j-api-1.5.8.jar
slf4j-log4j12-1.5.8.jar
feed4testng提供的jar:
feed4testng-1.0.jar
databene-webdecs-0.6.1.jar
databene-commons-0.5.9.jar
databene-benerator-0.7.1.jar
解析excel需要的jar:
poi-3.5-beta6.jar
testng运行必须的jar:
testng.jar
JSR验证需要的jar:
validation-api-1.0.0.GA.jar
代码:package cn.opentest.test;
import org.databene.benerator.anno.Source;
import org.databene.feed4testng.FeedTest;
import org.testng.annotations.Test;
public class Feed4TestExcel extends FeedTest {
@Test(dataProvider = "feeder")
// test.xls这个文件在项目的根目录
@Source("test.xls")
public void testLogin(String id, String name, String pass) {
System.out
.println("id:" + id + "; name:" + name + "; password:" + pass);
System.out.println("");
}
}
excel 内容如下:
数据文件 test.xls 需要放在项目的根目录下,如果放到别的路径,需要在代码中指定一下。

Console 输出:[TestNG] Runnin***ocuments and Settings\Administrator\Local Settings\Temp\testng-eclipse--1179389159\testng-customsuite.xml
log4j:WARN No appenders could be found for logger (org.databene.commons.IOUtil).
log4j:WARN Please initialize the log4j system properly.
id:1; name:opentest1; password:opentest11
id:2; name:opentest2; password:opentest12
id:3; name:opentest3; password:opentest13
id:4; name:opentest4; password:opentest14
id:5; name:opentest5; password:opentest15
id:6; name:opentest6; password:opentest16
id:7; name:opentest7; password:opentest17
id:8; name:opentest8; password:opentest18
id:9; name:opentest9; password:opentest19
id:10; name:开源测试10; password:开源测试1010
PASSED: testLogin("1", "opentest1", "opentest11")
PASSED: testLogin("2", "opentest2", "opentest12")
PASSED: testLogin("3", "opentest3", "opentest13")
PASSED: testLogin("4", "opentest4", "opentest14")
PASSED: testLogin("5", "opentest5", "opentest15")
PASSED: testLogin("6", "opentest6", "opentest16")
PASSED: testLogin("7", "opentest7", "opentest17")
PASSED: testLogin("8", "opentest8", "opentest18")
PASSED: testLogin("9", "opentest9", "opentest19")
PASSED: testLogin("10", "开源测试10", "开源测试1010")
===============================================
Default test
Tests run: 10, Failures: 0, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 10, Failures: 0, Skips: 0
===============================================
[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@df8ff1: 15 ms
[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@18e2b22: 16 ms
[TestNG] Time taken by org.testng.reporters.EmailableReporter@1c39a2d: 15 ms
[TestNG] Time taken by org.testng.reporters.jq.Main@f84386: 32 ms
[TestNG] Time taken by org.testng.reporters.XMLReporter@1971afc: 15 ms
[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 0 ms
[attach]171[/attach]
