xianggx 发表于 2010-6-12 20:25:42

接口测试初探之数据准备

数据准备是接口测试过程中不可或缺的一步,也是花费时间很长的工作,因为程序的功能就是处理数据。那么在接口测试中,我们要怎样来准备数据呢?经过这几天对接口测试的初探,整理了以下一些关于数据准备的方法。

数据准备分为两种类型:

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

Jackc 发表于 2010-6-13 11:38:07

不错的一个实例,要是LZ能贴上图就更好了::jian:::
页: [1]
查看完整版本: 接口测试初探之数据准备