基于Java开发的testNG接口自动化测试
1. TestNG简介
TestNG是一个开源的测试框架
与Junit的发行顺序:Junit3->TestNG->Junit4,TestNG的灵感来自于Junit3,在TestNG推出不久后,Junit借鉴了其中很多概念,也推出了差不多四年以来首个发行版本Junit4。
所以,TestNG跟JUnit4很像,但它并不是JUnit的扩展,它的创建目的是超越Junit。TestNG具有更强大的功能,引入了组测试的概念。TestNG不单纯用来做单元测试,它的作用在于为程序做集成测试。
2. 动手前准备
本文假定你对java和maven有一定的了解。在开始实践之前,需要你准备好以下环境:
JDK环境
IDE(Eclipse or other)
安装配置好maven
3. 实践
下面将完整地介绍,如何利用eclipse和maven来配置TestNG进行一个简单的Hello World测试。
3.1 Eclipse TestNG插件安装
eclipse工具栏目 : Help -> Install New Software 输入http://beust.com/eclipse在线安装,完成后重启eclipse引入项目即可。
3.2 TestNG代码思路
一次请求的执行过程无异于以下几步:预置数据->发送请求->检查执行结果->恢复数据,这些操作需要的数据即测试用例相关数据,在Excel文件中定义,程序通过读取Excel文件内容,分别自动执行测试用例,实现了自动化测试。
代码实现
a、通过数据驱动,加载excel数据
注意:数据驱动和test注解定义的名字必须一样(如testcase)
b、Excel有几列数据,则f里面定义几个参数接收
c、Excel每行数据代表一个请求,其中定义好预置数据、请求消息及预期数据等,代码每读一行Excel调用一次f方法
public class TestRun {
@Test(dataProvider = "testcase")
public void f(String id,String isExec,String testCase,String reqType,String reqHost,String reqInterface,String reqData,String expResult,String isDep,String depKey) {
System.out.println(id );
}
@DataProvider(name = "testcase")
public Object[][] dp() {
Object[][] data = null;
try {
ExcelUtil excelUtil = new ExcelUtil("D:\\autotest\\app_testcase.xlsx");
data = excelUtil.getArrayCellValue(0);
} catch (Exception e) {
}
return data;
}
3.3 执行过程与结果
工作中实际用到的接口测试类型(都是post请求)
1、查询类接口:直接检查请求后返回的消息体即可
2、设置类接口:不光要检查请求后返回的消息体,还要检查数据库中某些表的某些字段的值
3、作为客户端的接口:需要检查请求发出后,我们发出的请求是否正确,该类接口需要从日志中截取到响应的请求服务端的消息体后进行检证
4、拦截记录查询接口:这类接口比较特殊,需要从redis里面读取拦截记录,即查询的是redis非关系型数据库,而不是普通的业务关系型数据路,informix、MySQL等
根据以上要求,设计了Excel文件的各列信息,
上一篇: Java List根据多个参数排序
推荐阅读
-
基于Java开发的testNG接口自动化测试
-
Java+Testlink实现接口自动化测试-7-获取用例期待结果和步骤中的Json信息
-
Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试,yii2restful
-
Python接口自动化测试教程 -- 2. 用Django开发一个简单的POST | GET接口
-
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
-
大前端的自动化工厂(5)—— 基于Karma+Mocha+Chai的单元测试和接口测试
-
Yii2 advanced版API接口开发 基于RESTful架构的 配置、实现、测试
-
浅谈基于Pytest框架的自动化测试开发实践
-
Yii2 advanced版API接口开发 基于RESTful架构的 配置、实现、测试
-
Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试,yii2restful