接口测试自动化框架搭建
作者:杨刚
前言:
经常,在应用程序的业务逻辑中存在大量的这样的接口:他们接受不同的输入,然后进行或验证,或处理,进而完成相同的流程。比如网站的登录入口,用户名和密码都有长度的限制,同时也具有是否允许特殊字符的限制等,所以在我们进行其单元测试的过程中,根据不同长度的用户名和密码,以及不同的字符组合,只需要提供相同的测试代码结构,就能完成测试,不同的仅仅测试数据与期望值,但是因为每一个测试方法中的输入参数不同,我们必须为每一个输入组编写单独的测试用例,从而产生大量冗余代码,十分不便于维护。幸好,本文所述的 Feed4JUnit 良好的解决了数据与代码分离的问题,Feed4JUnit是 JUnit测试框架的扩展,它通过操作来自于文件以及不同的数据源的测试数据,使您的单元测试变得更容易编写与维护。
使用工具
Eclipse+Java+httpclient+feed4junit+Junit4
二、Feed4JUnit 的下载及安装
1. Feed4JUnit 是开源的测试组件,您可以从如下链接下载最新版本:
http://sourceforge.net/projects/feed4junit/files/
2. 解压下载的 zip包,复制整个 lib文件夹到您的 Java项目的根目录,如图 1:
图 1. 复制 lib 到项目根目录
3. 选定项目,右键选择项目的属性,然后通过 Add JARs将步骤 2中 lib 文件夹下的所有 Jar添加到项目的 BuildPath下,如图2
图 2. 添加 Jar 到 Build Path
三、使用 Feed4JUnit 实现数据与代码分离的测试
Feed4JUnit 的数据源可以包括以下几种类型-文件 (CSV或者Excel )、数据库、自定义数据源。
Feed4JUnit使用一个特殊的运行类Feeder.class,用来支持与标识参数化测试,如果您想要编写数据与代码分离的测试脚本,必须在您的测试类上增加注释@RunWith(Feeder.class)。同时,您需要使用@Test来标示您实现测试的方法,并且使用@Source来声明和接收数据源的数据,基本的代码结构如清单3所示: