测试开发 - 十年磨一剑(六)接口测试与HttpClient

本文介绍了接口测试的重要性和原理,包括系统间调用、服务调用的不同分类,以及通过发送请求报文到服务器并接收应答的过程。重点讲解了Java中HttpClient的使用,包括初始化、创建请求、设置参数和执行请求的步骤,为实现接口测试框架提供了基础。
摘要由CSDN通过智能技术生成

一、接口测试

接口测试是测试系统组件间接口的一种测试。主要用于检测外部系统于系统之间以及系统内部各个子系统之间的交互点。重点测试的时数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等等,这要求对业务逻辑有一定程度上的理解,对数据流向有较好的定位。

国内大部分由开发完成的单元测试其实就是一种接口测试,而我们测试人员所说的接口测试,如今大部分是指走HTTP协议的网络接口。

1. 接口测试的分类

a) 系统与系统之间的调用

b) 上层服务对下层服务的调用

c) 服务之间的调用

不同类型的接口测试方法可能不一致,但总体来说,不管是哪种类型,被测接口即为服务方,测试手段为客户方,接口测试的目的就是:通过我们的测试手段,去验证满足其声明提供的功能。

2. 接口测试的原理

通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一过程(request→response)

3. 接口测试的内容

接口测试内容一般从下图着手:

二、HttpClient

由于接触接口测试时,我常用语言是Java,所以最早接触到的工具就是HttpClient,它是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。

HttpClient实现了基于HTTP的各种方法,Get,Post,Put等等,支持HTTPs,关于如何支持,可以参考我之前的文章 Apache HttpClient 4.5实现https_编故事的逗老师的专栏-CSDN博客

HttpClient基本的用法也很简单,一看就会,主要是看你怎么构建代码,以post请求为例:

1. 初始化httpclient

CloseableHttpClient httpClient = HttpClientBuilder.create().build()

2. 创建请求

HttpPost httpPost = new HttpPost("url");

3. 设置header(可选)

httpPost.setHeader("Content-Type", "application/json;charset=utf8");

4. 设置参数(可选)

Parameters parms = new User();

parms .setXxx("xxx");

// required fastjson
String jsonString = JSON.toJSONString(user);

StringEntity entity = new StringEntity(jsonString, "UTF-8");

httpPost.setEntity(entity);

5. 执行请求

CloseableHttpResponse response = httpClient.execute(httpPost);

6. 获取相应

HttpEntity responseEntity = response.getEntity();

将方法封装,将参数对象化,再使用Junit,TestNG等工具搭建框架,则一个基于HttpClient的接口测试框架就能够实现了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值