Testng 的数据源 驱动測试 代码与配置
JUnit中有讲述使用注解的方式进行数据源读取进行自己主动循环測试的方法,在TestNG中也提供了对应的方法
public class TestngDataProvider {
/**
* 数组内的每一个元素都会作为一个用例数据被运行 On execution testEmployeeData() will be executed 4
* times,
*
* 数据源能够是Java对象、配置文件、数据库
*
* @return
*/
@DataProvider(name = "DP1")
public Object[][] createData() {
Object[][] retObjArr = { { "001", "Jack", "London" },
{ "002", "John", "New York" }, { "003", "Mary", "Miami" },
{ "004", "George", "california" } };
return (retObjArr);
} @Test(dataProvider = "DP1")
public void testEmployeeData(String empid, String empName, String city) {
System.err.println(empid);
System.err.println(empName);
System.err.println(city); } @DataProvider(name = "iterator")
public Iterator<Object[]> getData() {
Set<Object[]> set = new HashSet<Object[]>();
set.add(new String[] { "hello" });
Iterator<Object[]> iterator = set.iterator();
return iterator;
} @Test(dataProvider = "iterator")
public void testIteraorData(String iterator) {
System.err.println("iterator .. " + iterator); }
}
測试结果:
001
Jack
London
002
John
New York
003
Mary
Miami
004
George
california
iterator .. hello
PASSED: testEmployeeData("001", "Jack", "London")
PASSED: testEmployeeData("002", "John", "New York")
PASSED: testEmployeeData("003", "Mary", "Miami")
PASSED: testEmployeeData("004", "George", "california")
PASSED: testIteraorData("hello") ===============================================
Default test
Tests run: 5, Failures: 0, Skips: 0
===============================================
注意要点:
1.我们的@DataProvider方法能够通过读取Excel、数据库、properties文件等方式进行获取。这个取决于实际測试用例的设计和项目的须要。
2.其返回值是返回一个二维数组。数组内的二维元素个数必须和调用方法的參数一致。
3.这个一致包含了个数和顺序以及类型,否则假设类型不匹配或无法自己主动转换时就会抛出类型转换异常,而參数个数不匹配也会抛出參数缺失异常。
TestNG的组測试和组中组測试
假设我善良。
别觉得我软弱。由于我明确,善良是本性,做人不能恶。
Testng 的数据源 驱动測试 代码与配置的更多相关文章
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完毕測试代码)
MD5和RSA是网络传输中最经常使用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了.但这两种算法使用环境有差异,刚好互补. 一.MD5算法 首先MD5是不可逆的,仅仅能加密而不能解密. ...
- maven多module项目中千万不要引入其它模块的单元測试代码
本文出处:http://blog.csdn.net/chaijunkun/article/details/35796335,转载请注明. 因为本人不定期会整理相关博文,会对对应内容作出完好. 因此强烈 ...
- OpenFace库(Tadas Baltrusaitis)中基于Haar Cascade Classifiers进行人脸检測的測试代码
Tadas Baltrusaitis的OpenFace是一个开源的面部行为分析工具.它的源代码能够从 https://github.com/TadasBaltrusaitis/OpenFace 下载. ...
- DIV旋转的測试代码
<html> <head> <style type="text/css"> .rat0 { -webkit-transform: rotate( ...
- 基于redis集群实现的分布式锁,可用于秒杀商品的库存数量管理,有測试代码(何志雄)
转载请标明出处. 在分布式系统中,常常会出现须要竞争同一资源的情况,本代码基于redis3.0.1+jedis2.7.1实现了分布式锁. redis集群的搭建,请见我的另外一篇文章:<>& ...
- Tensorflow MNIST 数据集測试代码入门
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50614444 測试代码已上传至GitH ...
- Android JNI用于驱动測试
硬件平台:S3C6410 操作系统:Ubuntu.windows 板子系统:Android 开发工具:jdk.ndk,eclipse 本次測试从linux内核模块编译開始.以S3C6410的pwm驱动 ...
- 读取xml生成lua測试代码
#include <iostream> #include <string> #include <fstream> #include "tinyxml2.h ...
- 基于webrtc的媒体库測试代码以及接口介绍
经过一段时间的项目验证,第一版接口能够定版了.满足一般的项目需求是没有问题了,接口非常清晰,凝视也写的非常清晰,大家有须要的就拿去測试吧,android版本号还在验证中.假设有什么问题或者须要源码.能 ...
随机推荐
- Google Map 符号
符号 简介 如果您想在标记上使用基于矢量的图标,或者向多段线添加图像,便可使用符号. 标记支持使用光栅图像以及矢量图像.请参阅有关定制标记图标的文档. Symbol 是一种可显示在 Marker ...
- Form_Form Builder的常用变量(概念)
2014-12-30 Created By BaoXinjian
- Codeforces 6D Lizards and Basements 2 dfs+暴力
题目链接:点击打开链接 #include<stdio.h> #include<iostream> #include<string.h> #include<se ...
- Latex算法伪代码使用总结
Latex伪代码使用总结 algorithmicx例子 相应代码: \documentclass[11pt]{ctexart} \usepackage[top=2cm, bottom=2cm, lef ...
- 分享八:特殊的mysql函数
一:MYSQL自定义排序函数FIELD() MySQL可以通过field()函数自定义排序,格式:field(value,str1,str2,str3,str4),value与str1.str2.st ...
- [k8s]prometheus+alertmanager二进制安装实现简单邮件告警
本次任务是用alertmanaer发一个报警邮件 本次环境采用二进制普罗组件 本次准备监控一个节点的内存,当使用率大于2%时候(测试),发邮件报警. k8s集群使用普罗官方文档 环境准备 下载二进制h ...
- 如何在 block 中修改外部变量
转自:http://www.cnblogs.com/easonoutlook/archive/2012/08/22/2650070.html block 的目的是为了支持并行编程,对于普通的 loca ...
- js正则匹配中文
alert(/[\u4e00-\u9fa5]{4}/.test("司徒正美"))//true alert(/[\u4e00-\u9fa5]{4}/.test("司正美&q ...
- Oracle数据库操作类及连接方法
创建DataBaseAccess引用库下面包括DBConnectionString.cs,DBType.cs ,SysName.cs 三个类 DBConnectionString: using Sys ...
- python 列表的内容赋值
l1 = '20180201 b4b8e187-d59d-33fb-addc-ef189aca3712 com.ss.android.article.news' l2 = re.split('[ ]+ ...