接口测试-录制har文件

如有转载,请注明来源与testerhome.com

昨天我们用selenium自动化的方式,获得了har文件,今天我们找一个普通,不懂代码的业务测试也能录制case的方式

原理

原理是用browsermob-proxy可执行文件作为本地代理,监听某个端口,然后在系统中设置web服务器的代理url,让每一次的web请求都先走我们本地的代理,这样数据会先在代理服务器上保存数据,我们通过RESTAPI获得这些har数据保存到本地

步骤

启动代理服务

上一篇文章的结尾,我讲解了如何安装启动browsermob-proxy服务器,默认你已经看过那篇文章了,现在我们启动该服务,命令为sh browsermob-proxy -port 9090,启动后

如果是上图,信息表明我们的服务已经启动了,记住我们启动的端口,后续会用到。

创建代理

代理服务启动后,代理的实例还没有创建成功,需要我们自己创建一个,创建方式是通过REST api的方式,命令为curl -X POST -d ‘port=9099‘ http://localhost:9090/proxy,其中红框标注的为我们刚才启动代理服务的端口号,参数-d后面的9099是我们代理的端口号,这个一定要理解清楚,命令执行成功后出返回一个json字符串,里面包含了port字段就是你设置的代理端口号。

创建成功后,在服务器端会输出如下信息:

设置系统代理

Chrome浏览器打开代理设置,我用的是mac,会弹出代理设置

web的两项设置全部进行如下更改,里面的信息要安装服务器显示的host和端口号来填。

  • Web代理[HTTP]

  • 安全Web代理(HTTPS)

设置完成后记得保存,如果你不想设置系统代理,看另外一种插件式的代理

浏览器插件设置代理

SwitchySharp插件,添加到chrome后,进行配置

这样我们勾选后,就能让浏览器走代理了

现在我们在浏览器上访问的时候,会发现服务器是有反应的。

建议使用浏览器插件的方式设置代理,这样不影响其他的上网需求。

创建HAR进行数据记录

现在我们开启我们的代理服务器,以及开启了9099端口的代理,而且将浏览器的代理设置成这个9099端口的代理,现在我们的网络访问就会走9099这个代理了。

开启录制

命令:curl -X PUT -d ‘initialPageRef=Doctorq‘ http://localhost:9090/proxy/9099/har上面的命令将这次录制的case页面名称定为了Doctorq,这样我这条case就可以通过Doctorq来找到,这个命令执行后,我们的录制功能已经开启了,这个时候你在网页上的请求,就会被我们的代理捕获,数据也会被保存。

获取HAR信息

命令:curl http://localhost:9090/proxy/9099/har,这个时候命令行会输出har的信息:

如果你觉得看的不太清楚,你可以通过保存到本地文件:

这样我们可以在har查看工具中查看该文件的信息:

SSL

对于https的请求,需要自己安装ssl证书。

时间: 2024-07-30 23:27:15

接口测试-录制har文件的相关文章

接口测试-解析har文件

之前我已经研究到让业务测试通过不同方式来获取我们工具需要的har文件,现在我们拿到了业务测试提供的har文件,我们首先要解析这些文件里存放的信息,特别是entries字段里的信息,在万能的github上果然搜出来一个工具包 地址 har 因为maven库里还没有这个jar包提供下载,你需要将源码下载到本地,打包后上传到自己公司的私有库里,供其他开发者下载 源码 主要的类为HarUtils.java,还有命令行下执行需要的2个类(HarCli.java,ViewHar.java),这两个类的主要作

Charles录制App的接口har文件

Charles录制App的接口har文件 如果我们想录制我们自己App后台请求接口的信息,并生成har文件,要怎么做呢?其实很简单,就是通过Charles,让手机的访问请求走这个Charles代理就行了. 步骤如下: 1.打开Charles: 2.手机连接Charles的代理: 3.Charles界面可清空信息.开始录制.结束录制: 左边标记的垃圾桶可以清空信息,右侧标记的录制按钮点击可开始录制/结束录制. 4.切换到开始录制状态: 5.在手机上操作App: 6.结束录制: 7.File->Ex

harview .har文件解析

浏览器->开发者工具-> network -> 右键 -> Save as HAR with content 将当前网络信息保存为.har文件, 可以直接用文本编辑器打开 harview 是解析har文件, 基于web的格式化工具 下载链接: 解压后直接打开, harviewer-master\webapp\index.html 然后将要解析的文件拖到页面上 http://download.csdn.net/detail/u010069189/9925938

ffmpeg+libx264+facc交叉编译 实现264流录制avi文件

默认交叉编译器已经搭建好............... 需求: 把标准的h264流保存成avi格式的实现文件,所以需要h264的解码器,avi文件容器,传输协议类型是文件,这些会体现在ffmpeg的configure配置上--disable-everything --enable-protocol=file --enable-encoder=libx264 --enable-encoder=libfaac --enable-libx264 --enable-gpl --enable-libfaa

hadoop-Archives har归档历史文件(小文件)

应用场景 我们的hdfs中保存大量小文件(当然不产生小文件是最佳实践),这样会把namenode的namespace搞的很大.namespace保存着hdfs文件的inode信息,文件越多需要的namenode内存越大,但内存毕竟是有限的(这个是目前hadoop的硬伤). 下面图片展示了,har文档的结构.har文件是通过mapreduce生成的,job结束后源文件不会删除. har命令说明 1.archive命令 (1).什么是Hadoop archives?Hadoop archives是特

HttpRunner接口自动化测试框架--脚本录制

为了简化测试用例的编写工作,HttpRunner 实现了测试用例生成的功能,使用对应的转换工具:har2case. 简单来说,就是当前主流的抓包工具和浏览器都支持将抓取得到的数据包导出为标准通用的 HAR 格式(HTTP Archive),然后 HttpRunner 实现了将 HAR 格式的数据包转换为YAML/JSON格式的测试用例文件的功能. 1.首先获取到HAR数据包,在此我们使用Fiddler抓包工具,进行抓包,导出为HAR数据包. 我们以一个公共接口举例:ws.webxml.com.c

基于HttpRunner,解析swagger数据,快速生成接口测试框架

使用HttpRunner默认生成的项目是这样的 命令:httprunner --startproject  项目名称 so,根据这个项目的目录结构,使用python解析swagger接口参数,可以快速生成api.testcases.testsuites文件夹中用到的json文件 运行后的目录是这样的 api目录 按swagger中的tags区分为多个文件夹,每个文件夹下包含各自的api文件 testcases目录 按swagger中的tags区分为不同的json文件,每个文件包含所有的api接口

httprunner学习2-har2case录制生成脚本

前言 复制毁一生,录制穷三代,如果你只是因为不想写脚本,而去录制脚本,那我建议你还是别学录制了. 录制脚本,只是一个过渡,从0到1的一个过渡,如果让你直接写脚本,你会无从下手,可以将录制的脚本快速转化成httprunner脚本文件. har2case可以将.har文件转化成yaml格式或者json格式的httprunner的脚本文件,生成.har格式文件可以借助fiddler或Charles抓包工具. 环境准备 如果你已经安装过httprunner,那应该是自带了har2case包,如果没有的话

关于hadoop处理大量小文件情况的解决方法

小文件是指那些size比HDFS的block size(默认64m)小的多的文件.任何一个文件,目录和bolck,在HDFS中都会被表示为一个object存储在namenode的内存中,每一个object占用150bytes的内存空间.所以,如果有10milion个文件,每一个文件对应一个block,那么就会消耗namenode 3G来保存这些block的信息.如果规模再大一点,那么将会超出现阶段计算机硬件所能满足的极限. 控制小文件的方法有: 1应用程序自己控制 2archieve 第一种是我