一、什么是接口

接口是前端和后端的数据通道

二、如何获取接口

1.开发不提供接口文档,通过抓包工具比如fiddler进行抓取,如下:

步骤一:设置浏览器(比如火狐)代理

步骤二:设置url过滤器,进入包的过滤抓取

步骤三:查看fiddler抓取的包,获取到接口

2.开发提供详细接口文档

三、通过Java代码模拟客户端向服务器发送请求,查看接口响应

步骤一:下载开源对象HttpClient所属的Jar包至本地,下载地址:http://hc.apache.org/downloads.cgi

步骤二:将解压后lib目录下的jar文件拷贝至java工程并build path

步骤三:创建Java类,编写代码模拟客户端发送请求,查看响应

a)get请求

     private static void get() throws IOException, ClientProtocolException {
String url = "http://xxx.com//loginValidate.do";
url += "?userName=xxx&password=xxx";
//客户端
HttpClient client = HttpClients.createDefault();
//建立get请求
HttpGet get = new HttpGet(url);
//发送请求,得到响应
HttpResponse response = client.execute(get);
//返回响应体
HttpEntity entity = response.getEntity();
//将响应体以字符串形式返回
String content = EntityUtils.toString(entity);
System.out.println((content));
}

b) post请求

 private static void post() throws UnsupportedEncodingException, IOException, ClientProtocolException {
String url = "http://xxxx.com//loginValidate.do";
//客户端
HttpClient client = HttpClients.createDefault();
//建立post请求
HttpPost post = new HttpPost(url);
//封装参数信息,使用list保存
List<NameValuePair> pairs = new ArrayList();
NameValuePair pair1 = new BasicNameValuePair("userName", "xxxx");
NameValuePair pair2 = new BasicNameValuePair("password","xxxx");
pairs.add(pair1);
pairs.add(pair2);
post.setEntity(new UrlEncodedFormEntity(pairs)); //发送请求,得到响应
HttpResponse response = client.execute(post);
//返回响应体
HttpEntity entity = response.getEntity();
//将响应体以字符串形式返回
String content = EntityUtils.toString(entity);
System.out.println((content));
}

java接口测试入门的更多相关文章

  1. 自学 Java 怎么入门

    自学 Java 怎么入门? 595赞同反对,不会显示你的姓名     给你推荐一个写得非常用心的Java基础教程:java-basic | 天码营 这个教程将Java的入门基础知识贯穿在一个实例中,逐 ...

  2. 《JAVA 从入门到精通》 - 正式走向JAVA项目开发的路

    以前很多时候会开玩笑,说什么,三天学会PHP,七天精通Nodejs,xx天学会xx ... 一般来说,这样子说的多半都带有一点讽刺的意味,我也基本上从不相信什么快速入门.我以前在学校的时候自觉过很多门 ...

  3. Java NIO入门(二):缓冲区内部细节

    Java NIO 入门(二)缓冲区内部细节 概述 本文将介绍 NIO 中两个重要的缓冲区组件:状态变量和访问方法 (accessor). 状态变量是前一文中提到的"内部统计机制"的 ...

  4. 完成《Java编程入门》初稿

    Java编程入门 现在的运维工程师不但要懂得集合网络.系统管理而且要和开发人员一起调试系统,社会上也需要"复合性"的运维人员,所以需要做运维的也要懂一些开发,知道软件系统接口的调试 ...

  5. 三、Android NDK编程预备之Java jni入门创建C/C++共享库

    转自: http://www.eoeandroid.com/thread-264971-1-1.html 应网友回复,答应在两天前要出一篇创建C/C++共享库的,但由于清明节假期,跟朋友出去游玩,丢手 ...

  6. 二、Android NDK编程预备之Java jni入门Hello World

    转自:  http://www.eoeandroid.com/forum.php?mod=viewthread&tid=264543&fromuid=588695 昨天已经简要介绍了J ...

  7. C功底挑战Java菜鸟入门概念干货(一)

    一.认识Java 1.Java 程序比较特殊,它必须先经过编译,然后再利用解释的方式来运行.  2.Byte-codes 最大的好处是——可越平台运行,可让“一次编写,处处运行”成为可能.  3.使用 ...

  8. C功底挑战Java菜鸟入门概念干货(二)

    (接上篇博文:C功底挑战Java菜鸟入门概念干货(一)) 一.Java面向对象程序设计-类的基本形式 1.“类”是把事物的数据与相关的功能封装在一起,形成的一种特殊结构,用以表达对真实世界的一种抽象概 ...

  9. 《Java从入门到精通》src0-8

    public class HelloWorld { public static void main(String[] args) { System.out.println("Hello wo ...

随机推荐

  1. Java数据结构和算法 - 高级排序

    希尔排序 Q: 什么是希尔排序? A: 希尔排序因计算机科学家Donald L.Shell而得名,他在1959年发现了希尔排序算法. A: 希尔排序基于插入排序,但是增加了一个新的特性,大大地提高了插 ...

  2. Docker & ASP.NET Core (4):容器间的连接

    第一篇:把代码连接到容器 第二篇:定制Docker镜像 第三篇:发布镜像 Docker容器间的连接 Docker提供了两种方式可以用来做容器间的连接/通信: Legacy Linking:这种方式使用 ...

  3. sklearn中的Pipeline

    在将sklearn中的模型持久化时,使用sklearn.pipeline.Pipeline(steps, memory=None)将各个步骤串联起来可以很方便地保存模型. 例如,首先对数据进行了PCA ...

  4. 配置完IDEA开发lua后用idea竟然打不开lua的文件。

    1.文件没关联上  File > setting > File Types  完成后即可打开lua文件

  5. Java微服务之Spring Boot on Docker

    本文学习前提:Java, Spring Boot, Docker, Spring Cloud 一.准备工作 1.1 安装Docker环境 这一部分请参考我的另一篇文章<ASP.NET Core ...

  6. springboot~集成测试里的redis

    测试不应该访问外部资源 对于单元测试,集成测试里,如果被测试的方法中使用到了redis,你需要去模拟一个单机环境的redis server,因为只有这样,你的测试才是客观的,即不会因为网络和其它因素影 ...

  7. 架构设计之「 CAP 定理 」

    在计算机领域,如果是初入行就算了,如果是多年的老码农还不懂 CAP 定理,那就真的说不过去了.CAP可是每一名技术架构师都必须掌握的基础原则啊. 现在只要是稍微大一点的互联网项目都是采用 分布式 结构 ...

  8. HttpClient在.NET Core中的正确打开方式

    问题来源 长期以来,.NET开发者都通过下面的方式发送http请求: using (var httpClient = new HttpClient()) { var response = await ...

  9. MongoDB3.2.22快速入门与使用【未完待续】

    1.CentOS的安装和mongodb,UVE的使用 1.1.CentOS7安装 虚拟机CentOS7安装步骤:https://www.cnblogs.com/wyt007/p/10295834.ht ...

  10. 补习系列(13)-springboot redis 与发布订阅

    目录 一.订阅发布 常见应用 二.Redis 与订阅发布 三.SpringBoot 与订阅发布 A. 消息模型 B. 序列化 C. 发布消息 D. 接收消息 小结 一.订阅发布 订阅发布是一种常见的设 ...