lrlr12录制app脚本脚本fiddler怎么用

用户名:cqydx
访问量:2563
注册日期:
阅读量:1297
阅读量:3317
阅读量:582423
阅读量:467156
51CTO推荐博文
没有用过Fiddler的人应该对FiddlerScript没啥感触,我是真心觉得FiddlerScript对测试有一定的帮助哈。在web前端开发过程中,Fiddler是最常用的一款调试工具,那对于测试来说,对测试来说也是一大利器。在大多数情况下,通过Fiddler的菜单就可以满足我们基本的使用,但是涉及比较复杂的场景,通过fiddler基本菜单无法满足。这时候就可以利用FiddlerScript,1通过断点可以修改http请求和相应的数据,不过不可以更改http头部,url,http相应码等等,所以这时候FiddlerScript就可以爬上用场了。2因为设置断点更改http请求数据,手动查找参数,输入,点击重新启动按钮,这一系列的动作就耗费一定的时间,有时候前段判断响应的时间比较短,还没来得及修改完,响应时间超时,那么更改无效,所以这时候FiddlerScript实现自动修改就爬上用场了。下面介绍贴上我常用的FiddlerScript& ,OnBeforeRequest部分&//更改http头文件,两种方式都可以&if (oSession.uriContains("172.16.0.62")) {&&&&&oSession.oRequest.headers["lat"]="22.547";&//oSession.oRequest["lon"] = "114.125";&}&//移除某个头文件&if (oSession.uriContains("objectId=1")) {&&&&&oSession.oRequest.headers.Remove["lat"];&}&//增加头文件&if (oSession.uriContains("172.16.0.61")) {&&&&&oSession.oRequest.headers.Add("lat","22.548")&}&//host 是要写完整&if (oSession.host == "hstoa.:8888") {& & &&&}&if (oSession.uriContains("172.16.0.61")) {&&&&&oSession["ui-color"] = "winered"; &}&//修改get请求url&if (oSession.uriContains("C_Account/LogOn")){&&&&&var geturl = oSession.url&&&&&geturl=geturl.Replace("111111","222222");&&&&&oSession.url =&}&//修改post请求的boby&var strBody=oSession.GetRequestBodyAsString();&// 用正则表达式或者replace方法去修改string&strBody=strBody.replace("1111","2222");&// 弹个对话框检查下修改后的body&&&&&&&&&&&&& &&FiddlerObject.alert(strBody);&// 将修改后的body,重新写回Request中&oSession.utilSetRequestBody(strBody);&&&&&&& &//将请求URI中http协议替换成https协议&oSession.fullUrl = "https" + oSession.fullUrl.Substring(oSession.fullUrl.IndexOf(':'));常用的OnBeforeResponse部分:&//增加响应头&if (oSession.uriContains("C_Account/LogOn")) {&&&&&oSession.oResponse.headers.Add("test1","11111")&}&//修改响应头&if (oSession.uriContains("C_Account/LogOn")) {&&&&&oSession.oResponse.headers["Date"] = "Wed, 27 Oct :15 GMT";&}&//移除响应头&if (oSession.uriContains("C_Account/LogOn")) {&&&&&oSession.oResponse.headers.Remove["Date"] ;&}&//修改http状态码&if (oSession.uriContains("C_Account/LogOn")) {&&&&&oSession.responseCode = "404"&}&//修改响应boby,如修改Result值1更改为2&if (oSession.uriContains("C_Account/LogOn")) {&&&&&var bobystr = oSession.GetResponseBodyAsString();&&&&&bobystr = bobystr.Replace("\"Result\":1","\"Result\":2");&&&&&oSession.utilSetResponseBody(bobystr);&}&//响应状态标识颜色&if (oSession.uriContains("C_Account/LogOn")) {&&&&&var reponseboby = oSession.GetResponseBodyAsString()&&&&&if (reponseboby.Contains("\"Result\":0")) {&&&&&oSession["ui-color"] = "blue";&&&&&}&} &&&&&& 本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)LR11使用代理录制手机脚本 - zhuruize的个人空间 - 51Testing软件测试网 51Testing软件测试网-中国软件测试人的精神家园
LR11使用代理录制手机脚本
& 14:44:29
/ 个人分类:
LR11使用代理录制手机APP脚本,很常用,不过我看了好久都没弄成功,今天终于成功了,一下。资源配置::win7;软件:fiddler(抓包工具,用来做http代理用);Loadrunner11;一部(我用的是荣耀6plus)步骤:1、关闭了防火墙,等东西(这个是为了以防万一,我提前关闭的,下面的操作不知道跟这个有没关系);2、设置fiddler端口号是8888;启动fiddler,保证fiddler能抓到电脑上的http的包就行了;3、启动LR的vugen4、新建(http/html)协议的脚本;5、Start Recording设置:& &Application type:Win32 Applications& &Program to record:D:\Program Files (x86)\HP\LoadRunner\bin\wplus_init_wsock.exe& &Program arguments:空& &Working directory:D:\Program Files (x86)\HP\LoadRunner\bin(其实就是wplus_init_wsock.exe的所在目录名称);& &Record into Action:Action(这是默认的)6、Start Recording-点击Options...准备配代理& &Recording Options--Network-Port Mapping:& & & Capture level:Socket level data& & & 下面就是代理的配置了:(点击New Entry进入 Entry页面配置)& & & & & Target Server:192.168.1.107(本机IP)& & & & & Port:8888(fiddler上的端口)& & & & & 勾选:Allow forwarding to target server from local port 端口号写:9988(这个端口号是手机链接代理使用端口号,我就是一直没弄明白这个端口号的作用浪费了2天时间)在Network:Port Mapping页面看到新增的代理,就说明代理配置成功了。7、点击Start Recording窗口上的”OK“开始录制吧。8、配置手机wifi:& & 代理:手动& & 代理服务器主机名:192.168.1.107(lr所在电脑IP)& & 代理服务器端口:9988(lr中配的那个端口号)& &连接wifi9、在手机上启动要录制的APP,进行操作& & &&博客分类:
Fiddler本身是用来做web debugging的工具。其具体的介绍和更多的使用方法请参考知识库中以下文章:
Fiddler---Web调试代理工具
在线调试JavaScript和CSS
本文将详细介绍如何通过fiddler2录制http操作请求的脚本。
为了只保留操作过程中的关键请求数据,我们需要自定义fiddler的过滤项。
完整的录制步骤如下:
打开fiddler2,此时后台会启动一个代理服务器。此后所有的http请求都会经过此代理服务器进行请求转发。
配置fiddler2过滤项。
1:首先需要只保留fiddler对浏览器请求的捕捉。点击左下角处的"All processes"变成"Web Browers"即可。这样fiddler就只捕捉IE或Firefox的请求
2:指定默认的Rules。在fiddler的菜单栏中选择"Rules",弹出下拉列表后,选择以下三项:"Hide Image Requests","Remove All Encodings","Hide 304s".
自定义过滤规则。由于目前的平台4.0系统中存在有大量的循环或显示用的请求,因此还需要自定义过滤规则。
3:选择"Rules"---&"Customize Rules",在弹出的文本文件中进行修改和补充后,自定义规则即时生效。或者使用Rules插件进行修改.
在该文件中找到static function OnBeforeRequest(oSession: Session),OnBeforeResponse方法,增加相应的过滤规则,就会相应的过滤请求。
以下为OnBeforeRequest中增加的过滤条件.附件为一修改后的脚本CustomRules.js
该文件位于C:\Documents and Settings\username\My Documents\Fiddler2\Scripts
//过滤请求不显示到界面上.
if(oSession.HTTPMethodIs("GET")){
oSession["ui-hide"] = "true";
if (oSession.uriContains("BootAndPtStatus.do")){
oSession["ui-hide"] = "true";
if (oSession.uriContains("Alarmlog.do")){
oSession["ui-hide"] = "true";
if (oSession.uriContains("SystemRun.do")){
oSession["ui-hide"] = "true";
}保存脚本。在左侧的请求序列中,选择需要保存的请求数据后,点击右键在弹出的界面中,选择"Save "-&"Sessions"-&"As Text".这样选中的请求就会以文本形式保存。
下面为保存的已录制脚本数据.
该脚本中包含三个步骤的操作:登陆-&强制登陆--&登出
POST /login.dof?action=userLogin HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Referer: http://192.168.19.2:8080/login.html
x-requested-with: XMLHttpRequest
Content-Type: application/x-www-form- charset=UTF-8
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 ( MSIE 7.0; Windows NT 5.1; QQDownload 1.7; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
Host: 192.168.19.2:8080
Content-Length: 30
Connection: Keep-Alive
Pragma: no-cache
Cookie: JSESSIONID=C404BAFA08A5EF1BAE2D49
username=admin&password=123456
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/charset=utf-8
Date: Mon, 16 Mar :47 GMT
Content-Length: 132
{"success":false,"errors":{"exception":""},"isgrab":"[admin]正在被IP=[192.168.12.154]的用户使用中,是否抢占登录?"}
------------------------------------------------------------------
POST /login.force?action=userLogin HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Referer: http://192.168.19.2:8080/login.html
x-requested-with: XMLHttpRequest
Content-Type: application/x-www-form- charset=UTF-8
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 ( MSIE 7.0; Windows NT 5.1; QQDownload 1.7; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
Host: 192.168.19.2:8080
Content-Length: 30
Connection: Keep-Alive
Pragma: no-cache
Cookie: JSESSIONID=C404BAFA08A5EF1BAE2D49
username=admin&password=123456
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=FD32FBA72A1BAD3ACBEB616; Path=/
Content-Type: text/charset=utf-8
Date: Mon, 16 Mar :50 GMT
Content-Length: 44
{"success":true,"message":"操作成功!"}
------------------------------------------------------------------
POST /logout.dof?action=logout HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Referer: http://192.168.19.2:8080/index.html
x-requested-with: XMLHttpRequest
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 ( MSIE 7.0; Windows NT 5.1; QQDownload 1.7; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
Host: 192.168.19.2:8080
Content-Length: 0
Connection: Keep-Alive
Pragma: no-cache
Cookie: JSESSIONID=FD32FBA72A1BAD3ACBEB616
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/charset=utf-8
Date: Mon, 16 Mar :00 GMT
Content-Length: 59
{"success":false,"errors":{"sessionout":true,"outinfo":""}}
Fiddler 具有强大的分析、编码解码(带有一个编码解码工具)、伪装(可动态伪装为任意主流浏览器)等能力。
支持 GZIP 压缩,支持 IPv6,从 2.* 版本开始支持 HTTPS 协议以并可进行动态解密。
支持图像,XML 以及网页表单数据查看。
带有过滤器,方便过滤无关结果。还有“时间线”可以查看收到数据的先后顺序及总耗时。
还带有“请求生成器”可发送自定义数据到服务器。特有的“自动应答”功能可以直接拦截并处理来自浏览器的特定请求而不发送到服务器。
支持插件(扩展),可自定义规则(语法为 JavaScript),甚至设置断点。
不过,目前动态捕获功能似乎只适用于基于 IE 内核的浏览器。
最后,此软件完全免费。我已经用了好几个月,稳定性还是不错的。
下载:
2.* 稳定版本:/dl/Fiddler2Setup.exe
2.* 测试版本(较新):/dl/Fiddler2BetaSetup.exe
在线帮助及视频教程:/Fiddler/help/
官方扩展列表:/Fiddler2/extensions.asp
系统要求: Windows 2000 / XP / 2003 / Vista 操作系统, Microsoft .NET Framework v2.0 或更高版本
浏览: 216643 次
来自: 杭州
啊,我也遇到了这个问题,楼主后面怎么解决了的啊
怎么引用呢,能更具体的写出来吗?
你好,这个问题我也出现了。 你是怎么解决的啊???????
楼主不能写一个简单的html吗,自己去实验怎么用!!!!!
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'君,已阅读到文档的结尾了呢~~
lr12录制app压力测试脚本步骤
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
lr12录制app压力测试脚本步骤
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口特性说明:
版本:V4.4
用途:将fiddler抓取的请求,导出为jmx格式,方便jmeter直接调用
新增功能:
1、在测试计划下,新增【HTTP请求默认值】,内容为空,后续需将站点的IP和端口填下在这个下面,目的是增加脚本的移植性
2、在测试计划下,新增【HTTP信息头管理器】,内容为空,有需要的时候自己添加值,否则无需处理
3、在测试计划下,新增【HTTP Cookie 管理器】
4、HTTP请求名称,值为Fiddler的session的注释,如果fiddler请求的注释为空,则是请求的URL(不包含域名)
5、HTTP请求注释,值为请求的域名或者IP
6、HTTP请求域名和端口为空,方便脚本移植性(HTTP请求默认值填写即可),如果比较特殊,需手动将注释下的域名信息复制填写
7、HTTP请求下的【HTTP信息头管理器】,值是发送请求必须的头信息,目前有Referer、X-Requested-With、Content-Type(目前发现这几个可能会影响请求是否成功)
8、对请求中存在乱码或者特殊字符的异常处理(处理方法:清空请求body的值,例如上传请求,但请求保留,需手动重新调整数据),这块后续有时间肯定会考虑换xml解析方法。
效果:从 fiddler导出后,在jmeter中需要处理的工作量较小,因fiddler的强大过滤和注释功能,脚本也结构清晰
使用说明:
1、将文件拷贝到fiddler的安装目录(截图是之前的截图,目前是最新版本是V4.4.,请悉知)
2、打开fiddler,设置过滤条件,因为我们是做功能或者巡检,这里过滤掉css、js、图片等请求,方便脚本简洁,也不影响功能,如图
3、打开测试网站
4、操作过程中,添加注释(快捷键M),例如【打开网站】、【第一个操作】……这样可以让我们的脚本场景清晰易懂
5、将session导出jmx格式,如下图
6、在jmeter中的效果
后话,我们知道以前jmeter的脚本来源有三个,手动书写、badboy录制、自带的录制功能(目前jmeter3.0该功能还比较好),目前我们又多了一个fiddler生成,选择哪一个,大家根据自己的情况来,工具是死的,我们需灵活运用,适合自己的才是最好的。
& 当然我们V4.4版本,也很乐意和大家分享。但还是那句话,我们都是测试的小伙伴,曾经都独自摸索过很长时间,付出很多,想获取材料(jmeter导出jmx格式V4.4),必须先帮助更多的小伙伴来一起成长,好东西必须分享给他们,不能独自享受,拿出我们分享心态的诚意来。
阅读(...) 评论()

我要回帖

更多关于 lr12录制app fiddler 的文章

 

随机推荐