UI自动化测试系列之TestNg-TestNg数据驱动二------>以XML外部文件作为数据驱动(1)

TestNg的数据驱动整体上可以分为两类:

 1、是数据硬编码在代码中,这样的数据限制为小数据,而且修改起来比较麻烦。

 2、以外部文件如XML文件、Excel文件等提供数据,然后testNg对外部文件进行解析,获取数据。这种方式适合于数据量比较大的,修改数据时只需要修改外部文件即可。但是理解和学习起来都比较困难。

我几天之前就开始学习第二种方式,想通过外部文件提供数据的方式来实现TestNg的数据驱动,但是在网上查找了好久也没找到合适的资料,再加上本人基础不好,所以一直都没能实现。今天终于学习了一点点东西,对于实现也有了眉目,先记录下:

以XML文件为例,TestNg数据驱动只接受两个格式的数据,Object[][]和Iterator<Object>[],所以,要想实现外部文件的数据驱动,必须将文件中的数据转换成TestNg可以接受的这两种数据格式中的一种。即,对XML文件进行解析,现在比较流行的方式是利用Dom4j。问题又出现了,即利用Dom4j对XML文件进行解析。

                                          Dom4j                                            dataprovider

                             XML<------------->HashMap<------------>   Object[][]    <------------>TestNg数据驱动

                                            解析                               转换

故,想要实现testNg利用外部文件(XML)实现数据驱动,学习思路如下:

1、了解DOM基本概念,知道其常用接口和方法。

2、使用Dom4j创建xml文件。(本条可忽略,可以直接写xml文件)

3、学会使用Dom4j解析XML文件,将结果存入HashMap中。

4、将HashMap中保存的数据,转换成object[][]格式。

5、利用TestNg实现数据驱动。

下面推荐几篇参考文献:

1、http://blog.163.com/kewangwu@126/blog/static/8672847120126261033594/   介绍了Dom基本概念,并介绍了常用接口和方法,实现创建、修改xml文件

2、http://blog.csdn.net/cuiweibing/article/details/1743235  利用Dom4j解析xml文件,并将结果保存到HashMap中

下篇给出一个Dom4j解析XML的 具体例子。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值