java使用HttpResponse请求其他系统的接口,对应Postman的设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java使用HttpResponse请求其他系统的接口,对应Postman的设置相关的知识,希望对你有一定的参考价值。

用Post的raw方式测试系统接口,测试成功,现在要在java实现这个接口功能,网上看别人都是用HttpResponse实现的,但不知道怎么写postman对应的参数设置,及返回值,请教一下这里要怎么写。如图是我需要设置的参数。

首先弄懂测试的需求,比如接口功能测试需求是什么(什么样的输入参数,返回什么样的输出)、接口性能测试需求是什么(最大支持多少并发访问,后台服务器资源配置极限是多少等等)
然后选择一款接口测试工具(一般推荐 POSTMAN JMETER等等),也可以自己开发接口工具。
编写接口功能测试和性能测试的用例(这个和一般的黑盒测试用例差不多,预置条件,测试步骤,预期结果)
使用测试工具或者脚本,执行测试用例。含提交BUG,跟踪BUG闭环等等。
分析测试结果,出具测试报告。
PS:接口的功能测试很简单,一般是访问的URL,带什么参数,然后什么加密方式,然后看返回值符不符合预期就可以了,把各种正常异常情况考虑到。接口性能测试的话除了要设置集合点并发访问后台接口,然后还要在后台服务器加监控,以便于检测系统资源,一般通用的监控指标CPU 内存 网络 等等。当然具体也要看你要测试什么样的接口,弄懂接口的协议再测试。希望能帮到你。
参考技术A 方式都一样的,可以自己慢慢试一试,这样子深刻

Java之使用HttpClient发送GET请求

 

 1 package LoadRunner;
 2 
 3 import org.apache.http.HttpEntity;
 4 import org.apache.http.HttpResponse;
 5 import org.apache.http.client.methods.HttpGet;
 6 import org.apache.http.impl.client.CloseableHttpClient;
 7 import org.apache.http.impl.client.HttpClients;
 8 
 9 import java.io.BufferedReader;
10 
11 import java.io.InputStreamReader;
12 
13 /*
14 * 使用Apache的HttpClient发送GET和POST请求的步骤如下:
15 *   1. 使用帮助类HttpClients创建CloseableHttpClient对象.
16 *   2. 基于要发送的HTTP请求类型创建HttpGet或者HttpPost实例.
17 *   3. 使用addHeader方法添加请求头部,诸如User-Agent, Accept-Encoding等参数.
18 *   4. 对于POST请求,创建NameValuePair列表,并添加所有的表单参数.然后把它填充进HttpPost实体.
19 *   5. 通过执行此HttpGet或者HttpPost请求获取CloseableHttpResponse实例
20 *   6. 从此CloseableHttpResponse实例中获取状态码,错误信息,以及响应页面等等.
21 *   7. 最后关闭HttpClient资源.
22 * */
23 
24 /**
25  * 使用HttpClient调用接口
26  * 为性能测试写接口脚本
27  */
28 public class GetChannelLine {
29     public static void main(String args[]) throws Exception {
30         String channelId = "sdd";
31         String clientId = "123";
32         // 目标地址
33         String url = "http://XXX.XXX.com.cn/arowana/channel/getChannelLine?channelId=" + channelId + "&clientId=" + clientId;
34         HttpGet httpGet = new HttpGet(url);
35 
36         // 设置类型 "application/x-www-form-urlencoded" "application/json"
37         httpGet.setHeader("Content-Type", "application/x-www-form-urlencoded");
38         System.out.println("调用URL: " + httpGet.getURI());
39 
40 //        httpClient实例化
41         CloseableHttpClient httpClient = HttpClients.createDefault();
42         // 执行请求并获取返回
43         HttpResponse response = httpClient.execute(httpGet);
44 //        System.out.println("Response toString()" + response.toString());
45         HttpEntity entity = response.getEntity();
46         System.out.println("返回状态码:" + response.getStatusLine());
47 
48         //得到返回数据的长度;没有该参数返回-1
49 //        if (entity != null) {
50 //            System.out.println("返回消息内容长度: " + entity.getContentLength());
51 //        }
52 
53         // 显示结果
54         BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"));
55         String line = null;
56         StringBuffer responseSB = new StringBuffer();
57         while ((line = reader.readLine()) != null) {
58             responseSB.append(line);
59         }
60         System.out.println("返回消息:" + responseSB);
61         reader.close();
62 
63         httpClient.close();
64     }
65 }

依赖包:

1         <dependency>
2             <groupId>org.apache.httpcomponents</groupId>
3             <artifactId>httpclient</artifactId>
4             <version>4.5.5</version>
5         </dependency>

 

以上是关于java使用HttpResponse请求其他系统的接口,对应Postman的设置的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Java HTTPResponse 解析 JSON?

如何从 Java 中的 HttpResponse 中获取单个表单字段并将其写入文件?

从 org.apache.http.HttpResponse 获取 HTTP 代码

Django----中间键 在其他语言中,有人叫这个管道 中间件

请求 HttpResponse<JsonNode> 时 Android 应用程序崩溃

django的HttpResponse对象