转载:使用Fiddler网络抓包玩转另类Loadrunner脚本开发

loadrunner12进行脚本录制时,调起谷歌浏览器后一直等待,页面空白。解决办法是先打开fiddler,再进行脚本录制。

原文来自:https://baijiahao.baidu.com/s?id=1602334242768599226&wfr=spider&for=pc

尽管Loadrunner作为最好用的性能测试工具, 但我们实际使用过程中, 仍然经常会遇到无法录制脚本的情况, 如遇到Loadrunner不支持的IE版本、移动客户端APP、员工渠道客户端等。原有的解决方案一般采用端口映射代理的方式进行录制,但是该方案存在操作复杂和无法实时查看录制情况的问题,基于Loadrunner 12的新特性,让大家掌握一门新的脚本开发技能, 就是基于Fiddler的网络抓包自动生成Loadrunner Vuser脚本的方法。

 

1 Fiddler 工具使用介绍

Fiddler工具是一个HTTP协议的调试代理工具,能够记录所有的HTTP信息并可以进行调试、断点和报文编辑与重发。该工具免费且非常小巧, 可以通过百度搜索后下载。下图是Fiddler工具的窗口界面:

 

 

转载:使用Fiddler网络抓包玩转另类Loadrunner脚本开发

 

图1:Fiddler工具的窗口界面

该工具左侧是录制的请求信息,右侧是该请求的详细信息。下面是使用工具的常见问题:

1.1 代理端口修改

打开改工具就默认修改浏览器的代理配置走Fiddler, 默认代理端口是8888 如果遇到端口被占用或者需要指定特定端口,如果要修改代理端口的设置,可以通过Tools->Fiddler Options->Connections 设置。

 

 

 

转载:使用Fiddler网络抓包玩转另类Loadrunner脚本开发

 

图2:代理端口修改设置

1.2 录制移动APP,Fiddler配置

录制移动APP,手机和电脑所处网络需要是同一个WIFI。Connections选项卡中,勾选Allow remotecomputers to connect,详见上图。手机连接WIFI时,要设置代理,IP输入本机的路由器分配的IP地址,端口设置为8888。

1.3 录制本机客户端,Fiddler配置

如果客户端采用JAVA开发,可以通过JAVA的命令行参数进行代理指定,具体命令行增加的参数如下:-DproxyHost=XXX.XXX.XXX.XXX-DproxyPort=8888。

1.4 显示返回内容是乱码

为了提高性能,很多WEB服务器开启了压缩功能,返回的数据采用GZIP 进行压缩,所以这时候返回保险显示乱码, 这时候只需要点击提示的“Decode Selected Sessions”。

 

 

 

转载:使用Fiddler网络抓包玩转另类Loadrunner脚本开发

图3:显示返回内容是乱码

1.5 过滤不相关的地址信息

如果采用手机抓包的方法等方式,可能会抓取到大量的的服务请求,为了只查看自己关注的请求,需要设置Filters,一般只需要过滤主机名,一些特定情况下可以基于URL或者是下载的文件类型进行过滤。

 

 

 

转载:使用Fiddler网络抓包玩转另类Loadrunner脚本开发

图4:过滤不相关的地址信息

1.6 如何导出录制的会话信息

在左侧选中需要保存的HTTP请求信息,按照下图保存为*.saz文件。

 

 

 

转载:使用Fiddler网络抓包玩转另类Loadrunner脚本开发

图5:导出录制的会话信息

2 使用Loadrunner解析saz抓包文件

2.1 打开saz文件

网上下载并安装Loadruner 12.00 或以上的版本, 在资源管理器中,选中saz文件,右键选中“Create VuGen Script”进行测试脚本生成 (注: Loadrunner也支持pcap和lrcap文件, 该网络抓包文件可由wireshark、tcpdump等工具生成) 。

 

 

 

转载:使用Fiddler网络抓包玩转另类Loadrunner脚本开发

图6:打开saz文件

2.2 转换生成测试脚本

如果报文较多,需要等待一段时间后生成一个与saz文件同名的测试脚本, 生成脚本后弹出关联窗口,在关联界面可以选择自己需要确定的关联信息,和普通录制脚本的过程是一样的。最后生成的脚本如下。

 

 

 

 

转载:使用Fiddler网络抓包玩转另类Loadrunner脚本开发

图7:转换生成测试脚本

综述: 使用Fiddler和Loadrunner配合,可以快速的进行各种应用的HTTP压测脚本的生成, 而且通过Fiddler的编辑和回放功能可以提前进行脚本的调试。

 

 

转载:使用Fiddler网络抓包玩转另类Loadrunner脚本开发