继上文我编写了java的get请求与post请求之后,我现在开始写一下实际操作

  很多人有疑问,接口测试的代码是哪里来的,怎么来的呢?看得见吗?我来做一个简单的演示

  我们这里简单介绍一下抓包工具,对于一般的app来说,可以使用fiddler来进行抓包测试具体的可以建立代理,分为以下步骤

1设定自己的测试手机和pc机器在同一个无线网之中

2pc机器打开fiddler,tool->fiddler options打开后在connections中设置端口号

3手机端进行如下图的设置,ip为该机器的ip端口为刚刚设置的端口号

如此,手机上的东西一旦发起网络请求,数据包就会显示在fiddler上了,至于pc端,我用的是charles,一般下载一个破解版也就ok了~~与手机端很相近

  我们一般抓到的数据包是这样的

上图是charles抓到的数据包,overview中里面很明显的看出来是get还是post请求,但是详细的参数和header就在第二张图contents中

  在contents中可以看到传的参数,在header中也可以看到所需要传输的header值,下面是我们的返回参数

  实际上,运用我们现在的代码即可完成这个操作,这就是自动化代码的能力,发一下http请求,针对上图,我们把url从overview中拿出来,再把header和view中的数值全部填充上即可,具体代码如下

url="http://xxxx";
applyParams = new HashMap<String, Object>();
applyParams.put("courseId",courseIdbig);
applyParams.put("xesClasses[0].nickName", Util.strTime6());
applyParams.put("xesClasses[0].tutorName",tutorName);
applyParams.put("xesClasses[0].tutorId",x);
applyParams.put("xesClasses[0].maxPersons","40");
applyParams.put("xesClasses[0].areaId","ff8080812e19f4bd012e23a921795499");
applyParams.put("xesClasses[0].serviceCenterId","ff8080814932e6a101493c0e6e2d1b73");
applyParams.put("xesClasses[0].venueId","ff808081494b24f60149545dd2b918d9");
applyParams.put("xesClasses[0].classRoomId","ff808081494b24f60149545fed0e18e3");
applyParams.put("xesClasses[0].teacherConflict","0");
applyParams.put("xesClasses[0].roomConflict","1");
httpDoGet.doPost(url, applyParams, Cookie).toString();
是的,只要有了上文的基础可以很简单的进行这个模拟操作
总得来说,对我们而言,上文是我们接口测试的一个方法,也是我们一个常态化的方法,,,
接口测试的话,主要是依照接口文档来做的(官方说法),接口文档与我们这个相比,还不如这个方法来的靠谱,,,因为文档的参数没有数值,而我们这里有数值,另一方面,我们可以想象,对一个写代码的人来说,编写自己的代码的文档来介绍自己的代码是很枯燥的事情文档更是如此,所以接口文档一般错误都是存在的
所以在熟悉业务的基础上,如果从接口文档中没法调通接口,这个时候要用这个方法,比如要测试创建订单的接口的话,我们就手动创建一个订单,抓取数据包后利用这个方法就可以作了~
在另一个场景也常常用到该方法,就是我所说的自动化工作中(非测试)
这时候开发没有义务配合你的工作,没有文档啥都没有,只有手动操作的账号,,,我们只能这样做,但是通过自己这样的方式,写出来的代码,真的很有成就感~

java自动化测试-http请求结合抓包工具实际应用的更多相关文章

  1. Fiddler抓取https请求 & Fiddler抓包工具常用功能详解

    Fiddler抓取https请求 & Fiddler抓包工具常用功能详解   先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问 ...

  2. 为什么用抓包工具看HTTPS包是明文的

    测试或者开发调试的过程中,经常会进行抓包分析,并且装上抓包工具的证书就能抓取 HTTPS 的数据包并显示.由此就产生了一个疑问,为什么抓包工具装上证书后就能抓到 HTTPS 的包并显示呢?不是说 HT ...

  3. 谷歌chrome浏览器和火狐firefox浏览器自带http抓包工具和请求模拟插件

    谷歌chrome浏览器自带http抓包工具 chrome://net-internals/ 谷歌chrome浏览器http请求模拟插件:postman 火狐http请求模拟插件:httprequest ...

  4. Mac 下抓包工具 Charles 修改特定请求

    Charles 是 Mac 下常用的抓包工具,它通过将自己设置成系统的代理服务器,从而完成了抓包的工作. 同类的工具还有 fiddler 和 Wireshark,其中 fiddler 是微软公司使用 ...

  5. Python爬虫-02:HTTPS请求与响应,以及抓包工具Fiddler的使用

    目录 1. HTTP和HTTPS 1.1. HTTP的请求和响应流程:打开一个网页的过程 1.2. URL 2. 客户端HTTP请求 3. Fiddler抓包工具的使用 3.1. 工作原理 3.2. ...

  6. Java高效开发-fiddler抓包工具

    1.简介 Fiddler是最常用的抓包工具之一,只要打开之后就能够实现数据包抓取,关闭之后会自动取消代理,非常方便本地调试 2.下载 阿里云盘地址:https://www.aliyundrive.co ...

  7. 抓包工具charles使用教程指南

    0x01 前言: Charles是一款抓包修改工具,相比起burp,charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等优势!下面来详细介绍下这款强大好用的 ...

  8. charles使用教程指南(抓包工具)

    0x01 前言: Charles是一款抓包修改工具,相比起burp,charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等优势!下面来详细介绍下这款强大好用的 ...

  9. 抓包工具Fiddler的使用

    Fiddler 教程 Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发 ...

随机推荐

  1. JAVA基础第五组(5道题)

    21.[程序21] 题目:求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘. 思路:用递归的思想. package com.niit.homework1; import ...

  2. 201521123095 《Java程序设计》第3周学习总结

    ,1. 本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识组织起来.请使用纸笔或者下面的工具画出本周学习到的知识点.截图或者拍照上传. 2. 书面 ...

  3. 201521123077 《Java程序设计》第1周学习总结

    1. 本章学习总结 java语言的历史 dos下运行 java文件 Math ,String ,Scanner,Interger等常用类的使用 jdk,jre,jvm等概念的了解 classpath, ...

  4. codeforces 862B B. Mahmoud and Ehab and the bipartiteness

    http://codeforces.com/problemset/problem/862/B 题意: 给出一个有n个点的二分图和n-1条边,问现在最多可以添加多少条边使得这个图中不存在自环,重边,并且 ...

  5. SSH框架搭建最终版【测试、log4j、baseDao】

    最详细搭建SSH框架环境 本博文主要是讲解如何搭建一个比较规范的SSH开发环境,以及对它测试[在前面的搭建中,只是整合了SSH框架,能够使用SSH实现功能],而这次是相对规范的. 导入开发包 在Str ...

  6. eclipse设置背景保护色及常用设置

    1.设置背景颜色 2.代码自动补全 Windows-->Preferences-->Java-->Editor-->Content Asist,在Auto activation ...

  7. geotrellis使用(三十三)关于Geotrellis读取Geotiff的两个细节

    前言 在上两篇文章中我介绍了如何直接将Geotiff(一个或者多个)发布为TMS服务.这中间其实我遇到了一个问题,并且这个问题伴随Geotrellis的几乎所有使用案例,下面我进行详细讲述. 一.问题 ...

  8. 框架应用:Mybatis(二) - 动态SQL

    MybatisUtil工具类 在实际开发中,我们可以编写一个MybatisUtil辅助类来进行对进行操作. 1)在静态初始化块中加载mybatis配置文件和StudentMapper.xml文件一次 ...

  9. QT4.8.5 连接数据库(读写数据)

    #include "mainwindow.h" #include <QApplication> #include <QLabel> #include < ...

  10. HDU2688-Rotate

    Recently yifenfei face such a problem that give you millions of positive integers,tell how many pair ...