手把手教你用Eclipse+TestNG搭建接口自动化测试框架

转载于: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

时间: 2024-10-06 13:36:12

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

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

一.环境安装 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安装目

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

在真正开始接口测试之前,我们需要对参数的处理进行梳理.这里所说的“参数”,既包含之前在xml中的配置(我们称之为全局参数),也包含在每一条用例中书写的param.全局参数为固定不变的,而根据接口相应获取的数据是动态变化的. 之前我们已经用${param_name}的形式,定义了如何从公共参数池中调用所需要的参数. 并且当一个接口的请求发送完成,进行下一个接口操作的时候,我们也需要对相应的数据进行处理.例如,前面一个接口的响应中出现了下一个接口需要使用的数据,比如id,password,token

基于Java+HttpClient+TestNG的接口自动化测试框架(五)------ 测试用函数接口类及实现类

在前一篇中,我们着重阐述了参数的处理方法. 但是,这些参数基本都是直接赋值的.而实际的接口测试中,我们会根据需要做成很多的测试数据,这些测试数据会根据不同的情况来使用.例如,我可能需要一个能够随机生成一个中文的字符串,或者需要一个能够迅速求出一个文件或者字符串的MD5的值.在这种情况下,就需要我们动手去写一些函数来进行调用. 不过,如果是在Excel(或者其他文本编辑器)中写测试用例,如何才能让程序能够知道我是在调用一个函数,并且能够把这个函数的返回值赋给变量,正确的传入我想要的地方呢?下面,我

基于Java+HttpClient+TestNG的接口自动化测试框架(六)-------随机函数的处理

我们之前使用接口类及接口实现类的方式,来定义了我们使用的工具类. 而所有的工具类中,随机函数是比较难于处理的.因为随机的对象不明确,随机的个数不明确.我们可以使用定义随机类的方式,来简单而快速的处理我们的随机对象生成的需要. 首先,我们先定义一个randomUtil的类,在这个类中,我们可以将想生成的随机函数进行具体的定义.在此,我们举几个例子.比如,随机生成一个整数,随机生成一个定长(或不定长)的,带汉字(或不带汉字)的字符串,随机生成一个数组等等. 来看一下具体的RandomUtil类的代码

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

在实际的接口测试中,有时需要根据情况进行文件的上传和下载.在文件数量比较小的时候,我们当然可以直接处理(比如若干个接口都用一个文件).但是,如果我们上传的文件需要使用不同文件夹里不同的文件,而且数量又比较大的情况下,直接写路径就比较麻烦了. 那么,怎样来处理这样的问题呢?还是需要先整理一下思路. 首先,我们需要根据某些特征,找到这些文件.例如,我们可以在指定的文件夹下面,按照文件后缀名来找寻文件.通常,我们在DOS下查询该文件夹下寻找同一后缀名文件的时候,会使用通配符“*”来代替文件名,例如:*

【python3+request】python3+requests接口自动化测试框架实例详解教程

转自:https://my.oschina.net/u/3041656/blog/820023 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自己写python的接口自动化测试框架,由于本人也是刚学习python,

robot framework + python实现http接口自动化测试框架

https://www.jianshu.com/p/6d1e8cb90e7d 前言 下周即将展开一个http接口测试的需求,刚刚完成的java类接口测试工作中,由于之前犯懒,没有提前搭建好自动化回归测试框架,以至于后期rd每修改一个bug,经常导致之前没有问题的case又产生了bug,所以需要一遍遍回归case,过程一直手工去执行,苦不堪言.所以,对于即将开始的http接口测试需求,立马花了两天时间搭建了一个http接口自动化测试框架用于测试后期回归测试,实在是被大量的重复手工执行搞怕了. 基础

构建接口自动化测试框架

背景 由于项目需要实现接口自动化,于是我自己用Java + testNG 实现了一套接口自动化测试框架.基本功能实现了测试数据的读取,接口的请求,返回值的处理以及最后的断言. 先来看一下框架的目录结构: 框架比较简单,在设置好测试数据之后,就可以开始写用例了,如: 是不是很方便,用例写好之后,就可以部署Jenkins自动执行了. 下面来具体看一下框架的实现 测试数据的存储和读取 测试数据存在在TestData下的xml文件,每条用例一个文件,然后通过XML类去读取文件内容,并将内容转换成json

python+requests接口自动化测试框架实例详解教程

转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自