转载于: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,即可完成工程的创建。

2. 导入相关的jar包:

工程上右键 -> 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.5 测试数据参数化(GListDataProvider.java),返回的参数个数需要与testsuit中函数参数个数一致。

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

手把手教你用Eclipse+TestNG搭建接口自动化测试框架的更多相关文章

  1. Eclipse+TestNG搭建接口自动化测试框架

    一.环境安装 1.前提 安装好jdk 配置好Java环境变量 安装Eclips 这些网上都有,就不再详细介绍. 资源分享链接:http://pan.baidu.com/s/1v9Fw6 2.安装Tes ...

  2. 基于Java+HttpClient+TestNG的接口自动化测试框架(四)-------参数存取处理

    在真正开始接口测试之前,我们需要对参数的处理进行梳理.这里所说的“参数”,既包含之前在xml中的配置(我们称之为全局参数),也包含在每一条用例中书写的param.全局参数为固定不变的,而根据接口相应获 ...

  3. 基于Java+HttpClient+TestNG的接口自动化测试框架(八)------ 针对文件的处理

    在实际的接口测试中,有时需要根据情况进行文件的上传和下载.在文件数量比较小的时候,我们当然可以直接处理(比如若干个接口都用一个文件).但是,如果我们上传的文件需要使用不同文件夹里不同的文件,而且数量又 ...

  4. 【接口自动化】Python+Requests接口自动化测试框架搭建【一】

    公司项目启用新框架,前后端分离,所以接口测试成为测试工作中不可缺失的一个环节,现在将从0开始搭建接口自动化测试框架的路程,一步步记录下来. 开发语言我们采用Python+第三方库Requests,测试 ...

  5. 接口自动化测试框架-AIM3.0-开源+OOP

    这是3.0了,从1.0到2.0直接跨越到3.0,就是这么随意. 3.0的关键词一是开源,源码地址为https://github.com/dongfanger/AIM,二是OOP. 随着python的发 ...

  6. iOS回顾笔记(05) -- 手把手教你封装一个广告轮播图框架

    html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...

  7. Maven+TestNG+ReportNG/Allure接口自动化测试框架初探(上)

    转载:http://www.51testing.com/html/58/n-3721258.html 由于一直忙于功能和性能测试,接口自动化测试框架改造的工作被耽搁了好久.近期闲暇一些,可以来做点有意 ...

  8. jmeter+ant+jenkins搭建接口自动化测试环境

    jmeter+ant+jenkins搭建接口自动化测试环境(基于win) 1.jmeter jmeter依赖java运行环境,所以需要提前下载jdk并配置好环境变量 官网下载(http://jmete ...

  9. 基于maven+java+TestNG+httpclient+poi+jsonpath+ExtentReport的接口自动化测试框架

    接口自动化框架 项目说明 本框架是一套基于maven+java+TestNG+httpclient+poi+jsonpath+ExtentReport而设计的数据驱动接口自动化测试框架,TestNG ...

随机推荐

  1. 第八章 Hibernate数据操作技巧

    第八章   Hibernate数据操作技巧8.1 分组统计数据    语法:[select]... from ...[where] [group by...[having...]] [order by ...

  2. Ajax 与 Comet

    Ajax技术的核心是XMLHttpRequest对象(简称XHR). XMLHttpRequest对象 在浏览器中创建XHR对象要像下面这样,使用XMLHttpRequest构造函数. var xhr ...

  3. 利用伪元素和css3实现鼠标移入下划线向两边展开效果

    一.思路: 将伪元素:before和:after定位到元素底部中间,设置宽度从0变成100%达到目的. 二.实现: 1.首先定义一个块状元素(行内元素没有宽高)并修改样式为一个背景色为浅灰色的矩形,设 ...

  4. 需求收集实例 二 之 GF Phase 2

    GF Phase 2 做B2B的site, 需求收集过程与 需求收集过程实例之 - GF Phase 1主要的不同是在phase 1 开发在需求规格文档敲定后开始,而phase 2 把feature ...

  5. C++STL vector详解(杂谈)

    介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用.通 ...

  6. 线段树区间更新操作及Lazy思想(详解)

    此题题意很好懂:  给你N个数,Q个操作,操作有两种,‘Q a b ’是询问a~b这段数的和,‘C a b c’是把a~b这段数都加上c. 需要用到线段树的,update:成段增减,query:区间求 ...

  7. 【算法系列学习】[kuangbin带你飞]专题十二 基础DP1 G - 免费馅饼

    https://vjudge.net/contest/68966#problem/G 正解一: http://www.clanfei.com/2012/04/646.html #include< ...

  8. Ubuntu14.04双网卡主备配置

    近日有个需求,交换机有两台,做了堆叠,服务器双网卡,每个分别连到一台交换机上.这样就需要将服务器的网卡做成主备模式,以增加安全性,使得当其中一个交换机不通的时候网卡能够自动切换. 整体配置不难,网上也 ...

  9. OC比C中,新增的数据类型

    布尔型 BOOL 以及 boolean 1)这两者都是判断类型 2)在C底层这两者都是一个 char类型 占一个字符大小 3)BOOL 的取值为 YES / NO 其中NO =0 YES =1 4)b ...

  10. Oracle的正则应用之匹配出手机号

    按照要求匹配出符合中国大陆手机号规则的数据 --1 表准备create table test_regexp( object varchar2(50)); --2 数据准备 insert into te ...