
LoadRunner
lunarnan
这个作者很懒,什么都没留下…
展开
-
LR术语
1. 场景(Scenario):场景即测试场景,在LoadRunner中主要表现为Controller中设计与执行用例中的用户场景。主要工作有,在Controller中选择虚拟用户脚本、设置虚拟用户数量、配置虚拟用户运行时的行为、选择负载发生器(Load Generator)、设置执行时间等。2. 负载发生器(Load Generator):用来产生压力的真实机器,受Controller控制,原创 2012-01-31 17:03:16 · 790 阅读 · 0 评论 -
loadrunner中将float转化为char
今天一直在LR的函数里找将float类型转化为char类型的函数,只看到将char*转化为其他类型,后来发现可以用sprintf解决。 Action() { char* s=(char*)calloc(100,sizeof(char)); float i; strcpy(s,"123");原创 2012-04-16 18:18:08 · 1312 阅读 · 0 评论 -
LoadRunner字符串编码转换的函数lr_convert_string_encoding
在LoadRunner中,为我们提供了一个字符串编码转换的函数 int lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName); 该函数有4个参数,含义如下: sourc转载 2012-04-16 18:26:09 · 9364 阅读 · 1 评论 -
LR中Lr_save_string()函数和Itoa()函数的使用
/* 目的:使用for循环添加多条有规律的数据,比如说:a1、a2、a3......a1000 方法:从上面看1-1000是一个有序序列,并且前面的a都是固定的,所以只需要用for循环将1-1000循环出来就可以了。 但是loadrunner使用的是C语言的语法,所以不能向在java中一样,将两个变量直接相加(+)(+:连字符) 所以这个时候就需要将首先将int变量转换成s转载 2012-04-16 18:28:56 · 1395 阅读 · 0 评论 -
关于LoadRunner的迭代
通过用lr做负载压力测试过程发现,如果设定不同的action迭代次数,每次得出的结果是不同的,曲线的表现形式也是不同的。这点就使我们会感觉困惑,为什么要设置action的迭代次数?以及对于不同的应用系统应该怎样设置迭代次数呢? 首先你要理解性能测试是在干什么? 性能测试是模拟系统一段时间内真实的压力情况,以考察系统的性能。 再看怎么模拟系统真实的压力情况?比如在半个小原创 2012-04-16 16:42:58 · 1313 阅读 · 1 评论 -
LR— 26377错误
szwebt06 Error -26377 Action.c(53) Error -26377 No match found for the requested parameter "TransitionId". Check whether the requested boundaries exist in the response data. Also, if the原创 2012-04-16 17:21:17 · 13688 阅读 · 2 评论 -
在vugen中,如何将参数化内容的当前值输出到调试信息中
Q:输出函数lr_output_message(“Value Captured = %s”, lr_eval_string(“{ParameterName}”));如果ParamName被声明过可以用lr_out_message("aaa=%s",lr_eval_string(ParamName));原创 2012-04-16 18:17:19 · 1613 阅读 · 0 评论 -
loadrunner字符串处理函数
在Loadrunner中提供了C对字符串出了的相关功能函数,如下:lr_save_datetime 把当前日期和时间保存到一个参数中lr_save_int 把一个整数保存为参数lr_save_searched_string 保存一个字符数组相对于字符串出现的部分。lr_save_st转载 2012-04-16 18:23:43 · 1445 阅读 · 0 评论 -
LoadRunner HTTP服务器状态代码都及解决办法
在录制Web协议脚本回放脚本的过程中,会出现HTTP服务器状态代码,例如常见的页面-404错误提示、-500错误提示。错误现象1:-404 Not Found服务器没有找到与请求URI相符的资源,但还可以继续运行直到结束。错误分析:此处与请求URI相符的资源在录制脚本时已经被提交过一次,回放时不可再重复提交同样的资源,而需要更改提交资源的内容,每次回放一次脚本都要改变提交的数据,保证模拟实原创 2012-04-16 17:29:57 · 6007 阅读 · 1 评论 -
性能测试中各种文件的命名规范
在开发项目中非常强调命名规范,比如在JAVA里类和函数都会有不同的规则,那么在运用loadrunner的性能项目中会有什么样的命名规范呢,让我来问以下三个问题: 如何进行命名规范呢? 规范的命名会给项目带来什么好处呢? 如何对脚本,测试报告等不同的文档进行有效的管理呢? 好,我们先来讨论如何进行命名规范呢,同时这些规范会给工作原创 2012-04-17 11:12:34 · 1925 阅读 · 0 评论 -
web_reg_save_param 左右边界中有双引号,正确写法
关联相关脚本: 现在要通过关联取得value里面的值,如415;所写的脚本1:web_reg_save_param("did", "LB=name='did' id='did' value=", "RB= />"", "NotFound=WARNING",原创 2012-04-17 14:30:54 · 6175 阅读 · 0 评论 -
实现LoadRunner多个场景的顺序执行
注:以下内容部分总结自51testing论坛。应用场景假设有3个不同的测试场景,分别为并发登录、核心业务、可靠性测试,3个场景有先后执行顺序。由于白天测试机器另有用处,只能在晚上进行性能测试,这时我们的期望是能否把测试场景都设定好之后晚上自动运行,第二天我们回来看测试结果呢?答案是肯定的,可以有两种方式实现。第一种,相对简单充分利用LR Controller里面Group的功能原创 2012-04-18 16:25:48 · 2128 阅读 · 0 评论 -
HTTP状态小结
302错误302错误表示被请求的资源暂时转移(Moved temporatily),然后会给出一个转移后的URL,而浏览器在处理服务器返回的302错误时,原则上会重新建立一个TCP连接,然后再取重定向后的URL的页面;但是如果页面存在于缓存中,则不重新获取。 一般的网站在用户请求的页面不存在的时候,为了友好起见,会返回一个302错误,然后重定向到一个正常页面。因此可以看出,如果服务器在原创 2012-04-16 17:32:14 · 682 阅读 · 0 评论 -
loadrunner——常见函数
web_url()和web_link()这两个都是页面访问型函数,实现HTTP请求中的GET方法。web_url("在测试结果中要显示的名字","URL=需要访问的超链接地址",LAST);web_link("在测试结果中要显示的名字","TEXT=需要单击的超链接名称",LAST);如果一个页面有多个同名的超链接名,可以使用Ord关键字来选择具体的链接。同名链接的先后顺序是根据H原创 2012-04-11 20:41:20 · 3940 阅读 · 1 评论 -
LR中web_find和web_reg_find 函数区别和注意事项
昨天下午在两种不同模式下录制(注册)脚本【脚本名字:HtmlExample_find、UrlExample_find】,做对比后发现两个函数的区别: Note:原创 2012-01-31 14:25:34 · 6371 阅读 · 0 评论 -
LoadGenerator虚拟内存不足解决办法
20120129执行24h的稳定性测试,压力机共四台,每台650并发用户数,物理内存均是2G,当执行10小时后大量报错内容显示压力机内存不足。解决办法:将虚拟内存改为最大值,设置在C盘以外的其他盘,并且可以设置两个盘,叠加有效。再次执行24h的稳定性测试,已结束。测试结果有效。原创 2012-01-31 17:14:28 · 1016 阅读 · 0 评论 -
lr参数表中的参数分配规则
Select next rowUpdate value on SequentialEach iteration每次执行Action时,参数值改变。每个Vuser的参数取值都一样。Each occurrence每次取参数时,参数值改变。每个Vuser的参数取值都一样。原创 2012-02-09 11:32:07 · 2344 阅读 · 0 评论 -
loadrunner中的响应时间
LoadRunner 是以客户端的角度来定义“响应时间”的,当客户端请求发出去后, LoadRunner 就开始计算响应时间,一直到它收到服务器端的响应。这个时候问题就产生了:如果此时的服务器端的排队队列已满,服务器资源正处于忙碌的状态,那么该请求会驻留在服务器的线程中,换句话说,这个新产生的请求并不会对服务器端产生真正的负载,但很遗憾的是,该请求的计时器已经启动了,因此我们很容易就可以预见到,这原创 2012-03-28 19:54:34 · 5206 阅读 · 0 评论 -
LoadRunner获取WEB请求头信息的方法:Request、Response
今天发现LoadRunner两个“内置变量”:1、REQUEST,用于提取完整的请求头信息。2、RESPONSE,用于提取完整的响应头信息。响应头信息用可用其它方式实现,但请求头信息还真不知道可以这样拿到。太隐蔽了吧!注意,这两个变量仅在请求前使用web_save_header注册使用。示例如下:Action(){web_set_max_html_param_len("转载 2012-03-14 15:09:57 · 1890 阅读 · 0 评论 -
LoadRunner超时错误如何解决?
在录制Web协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同。 错误现象1:Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)。 错误分析:对于HTTP协议,默认的超时时间是120秒(可以在Load原创 2012-03-30 15:55:15 · 6862 阅读 · 0 评论 -
对“关联”的理解
根据自己使用loadrunner有些经历,总结了下对“关联”的理解,不过不知道说的对不对,有待阅读者指正。关联是将脚本中提交的内容(包括动态参数值的)从其他请求的服务器返回值中获得并在脚本回放时使用的一种策略方法。使用关联的第一步:理解关联个人理解关联其实就是参数化的一种方式。只不过它的参数值获取是要通过服务器端返回的信息动态获得的。使用关联的第二步:哪些是需要关联的呢?服转载 2012-03-14 16:21:22 · 937 阅读 · 0 评论 -
LR的参数和变量
参数:1. 在LR函数中可以直接使用参数。参数必须在双引号“”中才能应用。大部分情况下,可以直接用参数代替函数中双引号内的数据。如下使用方法: lr_save_string("http://www.test.com","url"); web_url("test","URL={url}",LAST);2. 参数是全局的,同一个脚本的任何一个action都能使用。3.原创 2012-04-11 20:46:11 · 10483 阅读 · 0 评论 -
loadrunner—— 性能测试环境搭建
1. 在性能测试时,为了保证测试结果的数据客观公正,每一次测试时的软件环境必须保证是相同的,所以在测试前对软件环境进行备份是非常重要的工作。可以用ghost进行镜像,避免前一次的测试缓存和磁盘碎片对下一次测试造成影响。2. 在性能测试时,需要大容量的数据,同时也要对这些数据做好备份工作。可以利用工具生成大批量数据,如DataFactory和Power Designer。创建脚本:1原创 2012-04-11 20:29:24 · 8453 阅读 · 0 评论 -
loadrunner 迭代参数1 file类型
Action(){char *aa ;char *bb ;char *cc;aa="{NewParam}" ;bb="{NewParam}" ;cc="{NewParam}" ;lr_message("aa的值是@@@@@@@@@@@:%s",lr_eval_string(aa));lr_message("bb的值是@@@@@@@@@@@:%s",lr_eval_string(原创 2012-04-11 21:49:11 · 966 阅读 · 0 评论 -
loadrunner ——Controller
场景设置通过对场景的设计从而形成和用户需求相同的真实负载。设计场景关键在于需求和性能测试的目标,设计场景到底是为了测试什么东西是在场景设计前需要好好考虑的。 目标场景的目的就是通过设置目标来验证系统能否达到目标,在项目最后需要确认质量时可以使用目标场景来完成最终的测试报告。目标场景中无法设置集合点策略,系统自动形成并发负载。当需要定位瓶颈的时候推荐还是要用手工场景。Hits p原创 2012-04-11 20:34:12 · 8502 阅读 · 1 评论 -
LoadRunner编程之跳出迭代
脚本如下:/*跳出迭代编程:在运行时设置中,设置迭代次数为5,运行下面的脚本:*//*函数exit(-1)来结束迭代。 使用return 0 来结束本次迭代,进入下一次迭代。*/int i;char aaa[]="test";Action(){ i=0; if(i==0) { exit(-1); }lr_output_message("valu原创 2012-04-11 21:43:52 · 1385 阅读 · 0 评论 -
交易响应时间258原则
所谓的“2-5-8原则”,简单说,就是当用户能够在2秒以内得到响应时,会感觉系统的响应很快;当用户在2-5秒之间得到响应时,会感觉系统的响应速度还可以;当用户在5-8秒以内得到响应时,会感觉系统的响应速度很慢,但是还可以接受;而当用户在超过8秒后仍然无法得到响应时,会感觉系统糟透了,或者认为系统已经失去响应,而选择离开这个Web站点,或者发起第二次请求。原创 2012-04-18 16:37:31 · 14605 阅读 · 1 评论