继上文我编写了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. 201521123104 《Java程序设计》第5周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点 1.2 可选:使用常规方法总结其他上课内容. 1.接口不是类,不能使用new进行实例化; 2.接口可以扩展; 3.接口中可以包含 ...

  2. 201521123102 《Java程序设计》第4周学习总结

    1. 本周学习总结 2. 书面作业 Q1.注释的应用 使用类的注释与方法的注释为前面编写的类与方法进行注释,并在Eclipse中查看.(截图) 类的注释: 方法的注释: Q2.面向对象设计(大作业1- ...

  3. 网络配置之基本网络配置(cenos6)

    目录: 关于IP的管理 Linux网卡的卸载与装载 配置网络接口 网络IP配置文件路由管理 路由管理命令 配置动态路由(简介) route的配置文件netstat命令IP命令 ip link 查看网络 ...

  4. Windows的文件权限 研究笔记

    最近公司的一台设备中了病毒,杀了又出现,总是破坏机器上面运行的程序. 想着研究下文件权限,把文件设为只读,让病毒破坏不了即可. 于是开始了实验1: 首先建立一个txt文件,查看权限: 可以看到User ...

  5. JavaScript自动化构建工具入门----grunt、gulp、webpack

    蛮荒时代的程序员: 做项目的时候,会有大量的js 大量的css   需要合并压缩,大量时间需要用到合并压缩 在前端开发中会出现很多重复性无意义的劳动  自动化时代的程序员: 希望一切都可以自动完成  ...

  6. JVM菜鸟进阶高手之路十一(eden survivor分配问题)

    转载请注明原创出处,谢谢! 问题 这个Xmn设置为1G,,我用jmap -heap 看,这个Eden From To怎么不是一个整8:1:1的关系呢? 我看内存分配还是没变,我Xmn1g,感觉From ...

  7. Eclipse 版本选择

    查看Eclipse的版本号: 1. 找到eclipse安装目录 2. 进入readme文件夹,打开readme_eclipse.html 3. readme_eclipse.html呈现的第二行即数字 ...

  8. 翻译连载 | 第 9 章:递归(上)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇

    原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...

  9. 关于数据库中datareader的用法

    1.C#中提供的DataReader可以从数据库中每次提取一条数据. using System; using System.Collections.Generic; using System.Comp ...

  10. MyBatis注解select in参数

    /** *  * @param ids '1,2,3' * @return */ @Select("select * from user_info where id in (${ids})& ...