使用Java编写第一个接口自动化程序
程序员文章站
2024-03-21 22:22:34
...
最近很久没更新了,一直在看接口方面的东西,所以现在开始,准备更新了。
从本质来说,我们通常使用的接口测试工具postman,fiddler或者一些其他的在线接口测试,等等都是由java写的,所以我们当然也可以用java来实现发包的过程
首先,我们可以看一下一个注册的接口(此接口是我部署在本地的服务器上,如果你们用的话,可以使用你们公司的接口进行test)
接口地址格式一般是这样的:http://主机地址:端口号/futuremery/mvc/api/模块/接口名
http://localhost:8080/futuremery/mvc/api/member/register
{"status":0,"code":"20103","data":null,"msg":"手机号不能为空"},可以看到如果我们不带请求参数的话,返回的值是显示手机号不能为空的,
现在我们来用fiddler先测试一下已经被注册过的手机号再次注册返回的是什么
好,可以看到显示的手机号码已被注册,那么我们现在就来模拟下fiddler发包,并且,拿到响应的数据信息
这里的话我们提一下,用的是maven来管理项目,所以我们需要先配置下pom.xml,这里面我已经给大家准备好了
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
下面先来看一下我们的代码
package auto.api.test;
import java.io.IOException;
import org.apache.http.Header;
import org.apache.http.ProtocolVersion;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class ApiTest {
public static void main(String[] args) throws ClientProtocolException, IOException {
//1.发包,准备url
String url = "http://localhost:8080/futuremery/mvc/api/member/register?mobilephone=13666666666&pwd=123456";
//2.设置请求方法
HttpGet get = new HttpGet(url);
//准备客户端
CloseableHttpClient httpClient = HttpClients.createDefault();
//发包
CloseableHttpResponse response = httpClient.execute(get);
//验证响应头信息 HTTP/1.1 200 OK
// ProtocolVersion httpVer = response.getProtocolVersion();
//验证响应头信息 HTTP/1.1 200 OK
StatusLine stateLine = response.getStatusLine();
//获取协议版本
ProtocolVersion httpVersion = stateLine.getProtocolVersion();
System.out.println(httpVersion);
//获取状态码
int stateCode = stateLine.getStatusCode();
System.out.println( stateCode);
//遍历所有的头部信息
Header[] allheaders = response.getAllHeaders();
for (Header header : allheaders) {
System.out.println(header.getName() +":"+ header.getValue());
}
System.out.println();
//响应体,toString方法可以将响应体转换成字符串
String entityStr = EntityUtils.toString(response.getEntity());
System.out.println(entityStr);
}
}
接着我们来看一下控制台的输出,和fiddler测试的结果一致,好的,这就是最简单的接口自动化测试了
HTTP/1.1
200
Server:Apache-Coyote/1.1
Content-Type:application/json;charset=UTF-8
Transfer-Encoding:chunked
Date:Thu, 09 May 2019 08:58:25 GMT
{"status":0,"code":"20110","data":null,"msg":"手机号码已被注册"}
推荐阅读
-
使用Java编写第一个接口自动化程序
-
Java编程中使用XFire框架调用WebService程序接口
-
使用Java的Spring框架编写第一个程序Hellow world
-
Java编程中使用XFire框架调用WebService程序接口
-
使用Java的Spring框架编写第一个程序Hellow world
-
使用记事本编写java程序全过程图解
-
使用记事本编写java程序全过程图解
-
定义两个接口,其中各包括一个抽象方法分别用来完成两个数的加法和减法操作,然后创建一个类KY6_3来实现这两个接口中的抽象方法。编写程序KY6_3.java,将源程序写在实验报告中。
-
微信小程序授权 获取用户的openid和session_key【后端使用java语言编写】,我写的是get方式,目的是测试能否获取到微信服务器中的数据,后期我会写上post请求方式。
-
java基础------环境变量的配置及编写第一个程序