java接口测试入门
一、什么是接口
接口是前端和后端的数据通道
二、如何获取接口
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接口测试入门的更多相关文章
- 自学 Java 怎么入门
自学 Java 怎么入门? 595赞同反对,不会显示你的姓名 给你推荐一个写得非常用心的Java基础教程:java-basic | 天码营 这个教程将Java的入门基础知识贯穿在一个实例中,逐 ...
- 《JAVA 从入门到精通》 - 正式走向JAVA项目开发的路
以前很多时候会开玩笑,说什么,三天学会PHP,七天精通Nodejs,xx天学会xx ... 一般来说,这样子说的多半都带有一点讽刺的意味,我也基本上从不相信什么快速入门.我以前在学校的时候自觉过很多门 ...
- Java NIO入门(二):缓冲区内部细节
Java NIO 入门(二)缓冲区内部细节 概述 本文将介绍 NIO 中两个重要的缓冲区组件:状态变量和访问方法 (accessor). 状态变量是前一文中提到的"内部统计机制"的 ...
- 完成《Java编程入门》初稿
Java编程入门 现在的运维工程师不但要懂得集合网络.系统管理而且要和开发人员一起调试系统,社会上也需要"复合性"的运维人员,所以需要做运维的也要懂一些开发,知道软件系统接口的调试 ...
- 三、Android NDK编程预备之Java jni入门创建C/C++共享库
转自: http://www.eoeandroid.com/thread-264971-1-1.html 应网友回复,答应在两天前要出一篇创建C/C++共享库的,但由于清明节假期,跟朋友出去游玩,丢手 ...
- 二、Android NDK编程预备之Java jni入门Hello World
转自: http://www.eoeandroid.com/forum.php?mod=viewthread&tid=264543&fromuid=588695 昨天已经简要介绍了J ...
- C功底挑战Java菜鸟入门概念干货(一)
一.认识Java 1.Java 程序比较特殊,它必须先经过编译,然后再利用解释的方式来运行. 2.Byte-codes 最大的好处是——可越平台运行,可让“一次编写,处处运行”成为可能. 3.使用 ...
- C功底挑战Java菜鸟入门概念干货(二)
(接上篇博文:C功底挑战Java菜鸟入门概念干货(一)) 一.Java面向对象程序设计-类的基本形式 1.“类”是把事物的数据与相关的功能封装在一起,形成的一种特殊结构,用以表达对真实世界的一种抽象概 ...
- 《Java从入门到精通》src0-8
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello wo ...
随机推荐
- 7. VIM 系列 - 程序员利器(语法检测、代码块补全、symbol管理、函数跳转)
目录 1. 语法检查利器 ale 2. 补全代码块 3. symbol 管理器 taglist.vim 4. 函数跳转 1. 语法检查利器 ale 安装 ale Plug 'w0rp/ale' 配置 ...
- ToastUtil【简单的Toast封装类】【未自定义Toast的显示风格】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 一个简单的Toast封装类. 效果图 API = 6.0 API = 4.4.2 代码分析 实现了不管我们触发多少次Toast调用, ...
- Redis学习笔记~分布锁的使用
回到目录 分布锁主要用在多进程共同访问同一个资源时候,用来保持同一时间段只能有一个进程执行,同时避免了并发冲突的出现,这在很多场景都会用到,像秒杀库存,抽奖库存,多操作者处理一家公司等. void T ...
- Linux下PAM模块学习总结
在Linux中执行有些程序时,这些程序在执行前首先要对启动它的用户进行认证,符合一定的要求之后才允许执行,例如login, su等.在Linux中进行身份或是状态的验证程序是由PAM来进行的,PAM( ...
- java线程通信与协作小结 多线程中篇(十六)
在锁与监视器中我们对Object中的方法进行了简单介绍 以监视器原理为核心,三个方法:wait,notify.notifyAll,可以完成线程之间的通信 当然,不会像“语言”似的,有多种多样的沟通 ...
- 第一册:lesson 115.
原文:Knock,Knock! question:What does Jim have to drink? Isn't there anyone at home? I'll knock again , ...
- c#上位机与三菱PLC(FX3U)串口通讯
项目中会经常用到上位机与PLC之间的串口通信,本文介绍一下C#如何编写上位机代码 与三菱FX3U进行通讯 1. 第一种方法是自己写代码实现,主要代码如下: //对PLC的Y7进行置1 byte[] Y ...
- 解决在C#(.net)按字节数截取字符串最后出现乱码的问题
最近需要用到按字节数截取字符串.在网上找了很多方法. Encoding.Default.GetString采用的DefaultEncoding.UTF8.GetBytes采用的是utf-8编码.这样当 ...
- Redis Cluster搭建高可用Redis服务器集群
一.Redis Cluster集群简介 Redis Cluster是Redis官方提供的分布式解决方案,在3.0版本后推出的,有效地解决了Redis分布式的需求,当一个节点挂了可以快速的切换到另一个节 ...
- jQuery(九)、ajax对象操作
1 数组和对象操作 1.jQuery.extend([deep,] target, object1, [objectN]) 用一个或多个其他对象来扩展一个对象,返回被扩展的对象. 如果不指定targe ...