随笔分类 -  Loadrunner

上一页 1 2

摘要:在做性能测试的时候,协议分析是困扰初学者的难题,不过优秀的第三方协议分析工具还是挺多的,如:MiniSniffer、Wireshark、Ominpeek等;当然他们除了帮你分析协议之外,还提供其它更细致的信息。对协议支持的多少是表征测试工具的重要指标。LR支持以下各种协议:Platforms :NT 2000、XP,Sun,HP,IBM,LinuxWEB:HTTP(s),Web,Services,Corba,Wap,COM,RMI,Ldap,Winsock,Streaming,FTP,IIOP,POP3,RealPlayer,MS Media,voice xml,SMTPMiddleware. 阅读全文

posted @ 2014-04-05 14:48 lci05 阅读(623) 评论(0) 推荐(0)

摘要:关于脚本的这块,前两篇都在讲C语言,其实,要整理点实用的东西挺难,在应用中多对录制的脚本分析,但对于新手学脚本确实无从下手。 先贴一个脚本: 重点代码部分:Action(){ web_url("webhp", "URL=http://www.google.com.hk/webhp?hl=zh-CN&sourceid=cnhp", "Resource=0", ..... lr_start_transaction("登陆"); //设置事务开始 web_submit_data("ServiceLogi 阅读全文

posted @ 2014-04-05 12:13 lci05 阅读(353) 评论(0) 推荐(0)

摘要:ViewState是一种机制,ASP.NET 使用这种机制来跟踪服务器控件状态值,否则这些值将不作为 HTTP 窗体的一部分而回传。也就是说在页面刷新或者回传的时候控件的值将被清空,我们在aspx.cs中也经常用ViewState来存储值,作为一种存储状态,取代会话状态(session).我经常在aspx.cs中试用Viewstate来存储数据状态,比如Viewstate[“name”]=”殷海超”;,然后程序会把这个Viewstate保存为键-值对形式,这是会有一个序列化和反序列化的过程(序列化就是将对象的状态信息转换为可以存储或传输形式的过程。其实就是将对象持久化,比如说把对象保存为二进制 阅读全文

posted @ 2014-04-05 11:13 lci05 阅读(243) 评论(0) 推荐(0)

摘要:LoadRunner提供的web_custom_request函数可以用于实现参数的动态生成。在LoadRunner中,web_reg_save_param和custom_request都常于处理参数的动态生成。web_reg_save_param函数是大家都已经熟悉的了,它的主要作用是从一个response中获得后续的request需要使用的数据,然后将其作为一个参数保存下来,供后续步骤使用。该方法在LoadRunner中被称为Correlation(关联)。而web_custom_request函数则可以用于完全自定义向服务端发送的request。接下来我们用一个实际的例子说明一下web_ 阅读全文

posted @ 2014-04-04 22:24 lci05 阅读(317) 评论(0) 推荐(0)

摘要:语法:Int web_custom_request (const char *RequestName, , [EXTRARES, ,] LAST );返回值返回LR_PASS(0)代表成功,LR_FAIL(1)代表失败。参数:RequestName:步骤的名称,VuGen中树形视图中显示的名称。List of Attribute:支持的属性有以下几种:1. URL:页面地址。2. Method :页面的提交方式,POST或GET。3. TargetFrame:包含当前链接或资源的frame的名称。参见List of Attributes的同名参数。4. EncType:编码类型。5. RecC 阅读全文

posted @ 2014-04-04 22:20 lci05 阅读(197) 评论(0) 推荐(0)

摘要:web_submit_data函数处理无状态或者上下文无关的表单提交。它用来生成表单的GET或POST请求,这些请求与Form自动生成的请求是一样的。发送这些请求时不需要表单上下文。函数语法:Int web_submit_data ( const char *StepName, , ITEMDATA, , [ EXTRARES, ,] LAST );返回值:LR_PASS(0)代表成功,LR_FAIL(1)代表失败。函数参数List of Attributes:支持以下属性:1. Action:Form中的ACTION属性,指定了完成Form中的操作用到的URL。2. Method:表单提交方 阅读全文

posted @ 2014-04-04 22:05 lci05 阅读(181) 评论(0) 推荐(0)

摘要:web_custom_request方法可以发送POST和GET类型的请求web_submit_data只能发送POST类型的请求所有web_submit_data方法发送的请求都可以使用web_custom_request来实现web_custom_request可以实现web_submit_data无法实现的请求,比如“查询所有邮件并删除”这个案例中,查询时我们使用关联把所有邮件对应的标识抓取成一个数组,如果使用web_submit_data来完成这 个删除的请求,需要很多个web_submit_data请求才能完成,但使用web_custom_request就可以通过一个请求完成,方法是 阅读全文

posted @ 2014-04-04 22:03 lci05 阅读(241) 评论(0) 推荐(0)

摘要:在LoadRunner中有两个常用函数:Web_submit_form和Web_submit_data,在群里有人问这两个函数有什么区别。为什么会有两个不同却功能相似的函数。区别在哪里。首先,从工具的角度来说,厂商推荐使用Web_submit_form函数,因为这个函数看起来更易用,需要关注的东西较少。但是,从个人的角度来说,我推荐使用Web_submit_data函数。因为这个函数提供更多技术细节。在测试的过程中可控性更高。下面我就详细解释一下两个函数的工作机制:首先看一下下面这段HTML代码Html代码在录制的过程中,当打开这个页面的时候,这个页面会放在LR的Cache中,之后当我们输入了 阅读全文

posted @ 2014-04-04 21:59 lci05 阅读(305) 评论(0) 推荐(0)

摘要:如何在 LoadRunner 脚本中做关联 (Correlation)当录制脚本时,VuGen会拦截client端(浏览器)与server端(网站服务器)之间的对话,并且通通记录下来,产生脚本。在VuGen的Recording Log中,您可以找到浏览器与服务器之间所有的对话,包含通讯内容、日期、时间、浏览器的请求、服务器的响应内容等等。脚本和Recording Log最大的差别在于,脚本只记录了client端要对server端所说的话,而Recording Log则是完整纪录二者的对话。当执行脚本时,您可以把VuGen想象成是一个演员,它伪装成浏览器,然后根据脚本,把当初真的浏览器所说过的话 阅读全文

posted @ 2014-04-04 21:51 lci05 阅读(344) 评论(0) 推荐(0)

摘要:Loadrunner的Virtual User Generator 提供人脚本的录制功能,对于初学者来说,这大大的降低了编写脚本的门槛,loadrunner提供两种录制脚本的方式:Html_based script和Url-based script ,初学者疑惑这两种方式有什么不同? 在这里我们来做个简单分析。 下面我们来分别通过两种方式来录制百度首页,对比一下他们之间有什么不同。 HTML方式的脚本:Action() { web_url("www.baidu.com", "URL=http://www.baidu.com/", "Resour 阅读全文

posted @ 2014-04-04 21:49 lci05 阅读(320) 评论(0) 推荐(0)

摘要:web_url语法: Int Web_url(const char *name, const char * url, , [EXTRARES,,LAST)返回值 成功时返回LR_PASS (0),失败时返回 LR_FAIL (1)。参数: Name:VuGen中树形视图中显示的名称,在自动事务处理中也可以用做事务的名称。url:页面url地址。List of Attributes:(支持下列属性)1 TargetFrame 2 TargetBrowser or TargetBrowserOrdinal 3RecContentType - 在录制期间响应的报头文本类型(text/html, ap 阅读全文

posted @ 2014-04-04 21:25 lci05 阅读(181) 评论(0) 推荐(0)

摘要:在LR中,C的变量和LR的参数是不一样的。 任何C的变量都不能被LR的函数直接调用。 应该用lr_eval_string来取值。 比如{NewParam}(LR中参数化的变量)直接用这个引用是没有问题的。 但是如果如下: Action() { char a[10]; strcpy(a,"{NewParam}"); lr_message(a); return 0; } 这就不对了。 lr_message(a);就会报错。 但是写成lr_message(lr_eval_string(a));就可以。 因为这里的值已经取出来了。 再看另一个问题:一个网友说: A... 阅读全文

posted @ 2014-04-02 22:10 lci05 阅读(539) 评论(0) 推荐(0)

摘要:Web相关函数函数功能描述web_custom_request用户可以通过该函数自行创建一个HTTP请求的函数web_image模拟用户单击图片操作的函数web_link模拟用户单击指定属性链接操作的函数web_submit_data执行“无状态“或“内容无关”提交数据操作的函数web_submit_form模拟表单数据提交操作函数web_url模拟访问一个指定网址资源的函数web_find在HTML页面查找指定的文本字符串的函数web_global_verification查找指定的文本在所有后续请求的函数web_image_check检查在HTML页面中是否存在指定的图片的函数web_re 阅读全文

posted @ 2014-04-02 21:59 lci05 阅读(254) 评论(0) 推荐(0)

摘要:LR中检查点有两种:图片和文字。常用检查点函数如下:1)web_find()函数用于从 HTML 页中搜索指定的文本字符串;2)web_reg_find()函数注册一个请求,以在下一个操作函数(如 web_url)检索到的HTML网页上搜索指定的文本字符串;3)web_image_check()函数用于从HTML页面中查找指定的图片;4)web_global_verfication()属于注册函数,注册一个在web页面中搜索文本字符串的请求,与web_reg_find只在下一个Action函数中执行搜索不同的是它在之后所有的Action类函数中执行搜索指定的文本字符串;下面分别介绍以上函数的用 阅读全文

posted @ 2014-04-02 21:32 lci05 阅读(199) 评论(0) 推荐(0)

摘要:场景分析: 有3个不同的场景,分别为搜索,下载,上传,其中3个场景执行顺序为按照搜索->下载->上传流程操作;哪么如何让Loadrunner中如何实现多个场景运行: 方法1:利用Loadrunner中的Controller中的Vuser组模式 注意:Vuser 组设置不适用于百分比模式。 操作步骤: 1. 打开Loadrunner Controller->选择“Manual Scenario”场景模式,添加脚本(Web_Search_100Vuser_15Mins_070401,Web_DownLoad_50Vuser_15Mins_070401,Web_UpLoad_50V 阅读全文

posted @ 2014-04-01 21:39 lci05 阅读(696) 评论(0) 推荐(0)

摘要:在很多时候我们可能需要对系统进行这样的脚本开发,模拟用户点击一个下载链接,然后弹出下载框,选择保存,用来测试在大量用户下载时服务器的性能。但是现在大家对于这种脚本的处理方式往往是通过关联和C 语言的文件读写的方式来处理的,因为LR 不会录制到下载的这个请求,我们不但要手工写一个请求的模拟,还要用过关联来处理,非常的不便。这里我介绍一种简便的处理方法:LR 在录制脚本时默认只会录制基于HTML 和XML 个格式的请求,并且生成WEB_URL 函数,所以不会录制出来关于下载这样的请求,怎么让 LR 能识别呢?我们先来分析一下下载请求的数据格式。这里使用HTTPWATCH 对DISCUZ 论坛的.. 阅读全文

posted @ 2014-03-31 22:33 lci05 阅读(402) 评论(0) 推荐(0)

上一页 1 2

导航