|
数据准备是接口测试过程中不可或缺的一步,也是花费时间很长的工作,因为程序的功能就是处理数据。那么在接口测试中,我们要怎样来准备数据呢?经过这几天对接口测试的初探,整理了以下一些关于数据准备的方法。
数据准备分为两种类型:
1、数据库中的基础数据;
2、基于web层的接口测试时,所依赖的session、param等数据;
一、数据库中的基础数据
和ruby脚本中的数据准备类似,接口测试中也使用Excel文件来准备数据库的数据,但是Excel的写法有所不同。
在建好测试类后(下图中的PurchaseProcessServiceTest.java),在同一目录下新建一个同名的Excel文件,如图:
打开新建的Excel,将下方的sheet名改成你要插入数据的数据库表名,如下图中的table_user表:
在Excel中填写要插入的数据,如下图:
第一行是表中的字段,第二行开始就是要插入的数据。
这里有个小技巧,可以先从PL/SQL中查询到相关的数据,然后把它导出成一个CSV文件,用Excel打开这个CSV文件,就可以直接把数据复制粘贴到Excel中了:
Excel写好后,要把它加到测试类中,这里使用标签来实现,在用例测试代码上面加如下标签:
@DataSet({“PurchaseProcessServiceTest.xls”})
@Test
public void test_N_测试用例_case01() {……..}
这样每次测试执行时,会先根据Excel中的数据,查找数据库,如果Excel中的数据在数据库中已存在,系统就会自动先将它们从数据库中删除,然后把Excel中的数据全部插入数据库。
不过这样准备的数据是静态的,如果你想要准备动态的数据,如:你需要插入的数据中有个时间字段,这个字段的值是当前的系统时间。这样你就需要先用Excel插入一条数据,然后在测试代码中,用jdbc来update这条数据,把数据中的时间改成你想要的时间,就可以了。
二、基于web层的接口测试
因为是针对web层的测试,所以需要在测试执行前,对接口所依赖的session、param等进行注入。
在itest中,我们用xml文件来实现这一步。
和上面一样,要在测试类的同一目录下,新建一个同名的xml文件,结构如下:
<tests url=”" module=”这里写要测试的接口名,类名” action=”要测试的方法名,类中的方法”>
<test name=”用例名,要和测试类中的用例名一致”>
<session name=”session参数名” desc=”描述” value=”参数值”/>
<param name=”param参数名” desc=”描述” value=”参数值”/>
</test>
</tests>
这样每次执行测试时,就会自动注入这些requst参数了。
三、其他
当然上面的两种数据准备方法都是需要配置的,至于怎么配置,敬请期待接口测试初探之配置篇
参考资料:http://itest.taobao.net:8088/site/tutorial.html
原文地址:http://qa.taobao.com/?p=6879 |
|