转载于:http://qa.blog.163.com/blog/static/190147002201510275306185/
把群博里关于接口自动化的文章都看了一遍,都是关于测试过程中遇到的问题及解决方法,还没有框架搭建的博文。对于未做过接口自动化和java菜鸟的我,搭建好框架才是迈出的第一步。记录下搭建的过程,希望能够对想做接口自动化的同志们有一定的帮助。有些步骤较粗,若有问题,欢迎联系我。
一、环境安装
1、前提
安装好jdk
配置好Java环境变量
安装Eclips
这些网上都有,就不再详细介绍。
资源分享链接:http://pan.baidu.com/s/1v9Fw6
2、安装TestNG插件
在线安装由于网速原因,速度较慢。下面是离线安装方式。
(1)解压eclipse-testng离线包.zip
(2)将【eclipse-testng离线包/feature】中的文件夹org.testng.eclipse_6.8.6.20130607_0745复制到【MyEclipse安装目录/features】目录下
(3)将【eclipse-testng离线包/org.testng.eclipse_6.8.6.20130607_0745】文件夹复制到【MyEclipse安装目录/plugins】目录下
(4)重启MyEclipse,Windows - show view - TestNG
3、安装Ant
(1)解压apache-ant-1.9.6-bin.zip到任意目录下
(2)配置Ant环境变量,在Path变量末尾添加:<Ant目录>/bin;
二、在Eclipse中创建Java工程
1、Eclipse -> File -> New -> Java Project,如下图,在弹窗中填入Project name,点击Finish,即可完成工程的创建。
工程上右键 -> Build Path -> Configure Build Path...,如下图所示,打开Build Path配置窗口。

导入已经安装的TestNG插件,如下图所示完成testNG的导入:

3. 从资源分享链接中下载lib.zip,解压开,按下图方式导入里面的jar包。导入的这些jar包会在程序中用到。

三、使用TestNG框架编写测试用例
1. 创建src文件夹,存放测试相关的代码,在工程上右键 -> New -> Folder,填入文件名字:src。
2. 按照数据与代码分离和公共方法提取的原则,我的代码结构如下划分:

3. 脚本编写顺序
3.1 全局配置文件(GlobalSettings.java)
存放一些工程全局的变量,比如baseUrl、timeout等;
3.2 Http协议实现(HttpClientHelper.java)
根据项目接口使用的协议,实现相关的请求。我们的项目有两种方式,一种是使用NameValuePair的方式封装请求参数,一种是使用JSONObject的方式封装请求参数,因此针对这两种方式都做了代码实现。
3.3 接口实现(GList_API.java)
以“创建G单”为例,实现该接口:

3.4 准备测试数据(TestData.java)
为接口准备测试数据。


3.6 测试用例suit(GListCURD.java)

4. 测试用例调试与执行
按照步骤三写好了所有的用例,可以进行用例的调试与执行了。
4.1 测试用例脚本调试
在步骤三的测试用例suit GListCURD.java上右键,“Debug as”或“Run as” -> "TestNG Test",即可运行该脚本。
4.2 测试用例脚本执行
有两种方式可以运行该脚本,testNG或者ant。
使用testNG运行,操作如步骤4.1。
使用ant运行,需要创建xml,请参考资源库中的build.xml、smokeTest.xml。若需要生成testNG报告,还需要下载test-result.xsi文件。
4.3 美化后的运行结果report
