`
owe911
  • 浏览: 20174 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

loadrunner使用心得

阅读更多

 

最近项目用到的loadrunner终于告一段落,现在趁还记得LR的使用方法,写下自己在项目中遇到的困难和解决方法,方便有需要的同志。我不是专门研究LR的人,只是作为职场新人服从上级安排,临时研究,若有不合理的地方请多多包涵。

简单的说下用到的LR,socket协议~需要IP欺骗,监控服务器的性能,模拟用户与平台进行交互。

用户是IP认证的~一个IP唯一一用户。

 

遇到的难点主要有以下几个方面:

 

(1) IP认证

因为需要模拟大量的IP,所以需要借鉴LR的IP欺骗,具体的实现方法可以google一下。说的很详细。

难点在于为什么设置了IP欺骗的操作后,还是无法实现IP欺骗?

 

首先确认测试机是否是XP系统,我曾经在win7系统上实验,绞尽脑汁无法实现,平台的日志看到是同一的IP不同的端口建立的socket链接。但是在XP系统上,可以完美的实现IP欺骗。

 

其次要确认选择的是LR的scenario是否开启了”enable IP Spoofer“


 

(2)关于socket的buf内容(也就是data.ws),在测试的时候我们可能需要变量化参数,因为我这边的IP地址是和用户名是一一对应的。所以我在录制脚本完后,再需要变量化的地方右键,选择file,然后可以用其他工具批量生成用户名,再参数那边设置如下



 这样他会根据虚拟的IP顺序,一一对应上的用户名

 

(3)关于socket的response的判定。

LR不会自动给你判断response是否正确,这样需要我们加代码去判断,但是对于变长的buf内容我们如何去判断呢?如果采取固定写死的方法,写的太笨拙,不利于脚本的二次利用,再万能的google后,可以用

lrs_save_searched_string()方法进行判断。具体的含义英文好的看官网文档,英文不好的可以看各种博客~下面贴上我的代码,写的不太好见笑了~

 

lrs_send("socket1", "buf0", LrsLastArg);
lrs_receive("socket1", "buf1", LrsLastArg);
lrs_save_searched_string("socket1", LRS_LAST_RECEIVED, "result", "LB/BIN=result", "RB/BIN=\\\"", 1, 2, -1);

 

 

 这样会把上一个receive的buf内容里面第一个含有result的字符开始从你设置的"LB/BIN” 与“RB/BIN”之间部分截取下来,so我要比对result后面是什么~我关心的只是result是否是OK的,所以

 

 

re=lr_eval_string("<result>");

	result = stricmp(re, tmp);

	if(result==0){

		lr_output_message("result is OK");

	}else{
		lr_output_message(" result is NOT OK");
		return -1;

	}

 return -1 是直接退出,貌似有点太粗鲁了。。。

 

(4)关于接收的buff与录制脚本的buff长度不一致,mismatch的解决办法

有时候因为这个那个原因,我们实际的buf可能与录制脚本的buff不太一样,所以导致系统提示XXX mismatch

这时候我的处理办法很简单,加入lrs_set_receive_option(EndMarker, StringTerminator , "XXX");

其中XXX是你消息的结尾表示。譬如,

lrs_send("socket1", "buf0", LrsLastArg);

lrs_set_receive_option(EndMarker, StringTerminator , "</xml>");

lrs_receive("socket1", "buf1", LrsLastArg);

 

 

这样buf在读取的时候,读到/xml 就停止了,不会提示mismatch什么的,具体还是查查官方文档关于lrs_set_receive_option的用法~但是有一点一定要注意,lrs_set_receive_option好像是只起一次作用,所以在每个receive前面我都加了这个lrs_set_receive_option

 

(5)虚拟机与另外一台局域网下的物理机之间的设置

再记录win7的server之前,我想告诫一下自己多学习一下网络的基础知识。

win7物理机serverIP是  192.168.1.2   255.255.255.0     192.168.1.1

XP虚拟机设置的IP是    192.168.1.4   255.255.255.0      192.168.1.1

win7 ping不通XP虚拟机。。。 

XP虚拟机可以ping通 win7 sever,可以访问win7 server

但是XP虚拟机IP改为192.168.2.4 ,双方都ping不通了~

后来查了半天原因,忙上忙下解决不了,被逼无奈只能求助于高手,高手问了问我的需求后说,把子网掩码改大一点点就可以了。。。于是乎我改为以下设置

win7 server 是   192.168.1.2   255.255.0.0     

XP虚拟机    是   192.168.1.4   255.255.0.0     

不设置网关也不设置DNS,因为我的机器只需要虚拟机与server交互即可,其他的不在乎~

 

(6)XP虚拟机如何远程监控win7的server

 

其实很简单,

首先WIN7开启服务Remote Procedure call、Remote Procedure Call (RPC) Locator、Remote Registry

其次右击“我的电脑”——“管理”——“共享文件夹”——选择“共享”,查看是否存在C$,如若不存在就要新建一个。

然后在测试机,也就是XP虚拟机下,在地址栏输入\\win7的IP地址\C$  回车,再弹出的对话框输入win7系统的用户名和密码,如果能登陆成功,就可以了

最后再测试机XP虚拟机的LR的scscenario的下按照如图设置

 选择add measurements 然后点击add 输入win7的IP 然后选择vista 然后确定,就可以了

 

(7)关于LR的transaction的理解

起初我总是录制完脚本,然后一同乱改,没有加入transaction的概念,最后总是觉得很怪异,后来加入transaction,才发现原来如此美妙。

起因是我们需要对响应时间进行分析,优化工程代码,开始我决定用timer,也就是LR自带的定时器,发现这样只能算出用时多少,不能算avgtime,后来再某一LR_send与LR_receive之间加入transaction的定义,才发现,原来如此简单,不多说,贴上我的例子,大家参考

lr_start_transaction("demo transaction");
        
lrs_send("socket1", "buf0", LrsLastArg);

lrs_set_receive_option(EndMarker, StringTerminator , "</xml>");

lrs_receive("socket1", "buf1", LrsLastArg);

lr_end_transaction("demo transaction",LR_AUTO);

 这样在脚本的log中会出现Notify: Transaction "demon transaction" ended with "Pass" status (Duration: 0.2552).

再scenario中会出现

 


 
 
好了,目前能记录的就这么多,以后再遇到再记下来~感谢~
 
  • 大小: 33.7 KB
  • 大小: 18.7 KB
  • 大小: 13.8 KB
  • 大小: 316.5 KB
分享到:
评论

相关推荐

    LoadRunner的使用心得

    ### LoadRunner的使用心得 #### 一、LoadRunner概述与准备 LoadRunner是一款业界领先的性能测试工具,由美国惠普公司开发,后被Micro Focus收购。它主要用于预测系统行为并优化性能,支持Web、云、移动等多种应用...

    loadrunner使用总结

    HP LoadRunner通过模拟一个多用户并行工作的环境来对应用程序进行负载测试。通过使用最少的硬件资源,为这些虚拟用户提供一致的、可重复并可度量的负载,像实际用户一样使用所要测试的应用程序。

    LoadRunner学习心得.doc

    对业界权威性能测试工具LoadRunner的学习心得。如: 1)对于浏览器应用程序,使用基于HTML的级别录制脚本 2)非浏览器,使用基于URL级别 3)如果是使用javascript进行交互的ajax,也是应该用url级别

    LoadRunner培训心得

    在这次“LoadRunner培训”过程中,我深入学习了其核心概念、工作原理以及实际操作技巧,以下是我对LoadRunner的一些心得分享。 首先,LoadRunner的核心理念在于模拟大量并发用户的行为,以测试系统的负载能力和压力...

    LoadRunner个人笔记心得

    在我深入学习和使用LoadRunner的过程中,积累了丰富的经验和心得,以下是一些关键知识点的详细说明。 1. **虚拟用户(Vusers)**:LoadRunner的核心概念之一是虚拟用户,它们模仿真实用户的操作,对系统施加负载。...

    loadrunner培训心得

    本篇文章将基于“loadrunner培训心得”这一主题,结合描述和提供的LR培训心得.pdf文件,深入探讨LoadRunner的核心概念、安装步骤、基本使用方法以及如何分析测试结果。 LoadRunner的主要功能是模拟大量虚拟用户同时...

    loadrunner入门与提升

    3. **社区论坛**:加入LoadRunner相关的社区或论坛,如Stack Overflow,可以与其他用户交流心得。 4. **视频教程**:YouTube上有许多免费的LoadRunner教学视频,适合初学者观看。 5. **实战项目**:通过参与实际项目...

    BUGFREE好文章 cisco技术 loadrunner脚本录制 loadrunner序列号 PIX基本配置 VSS简单入门 web测试技术经典案例 WIN2003邮件服务器构建 测试总结 防火墙技术 路由器配置命令 企业防火墙安全防护配置七大问题 网站功能测试 在 Windows xp 上安装 GreenAMP 和 BugFree 的详细步骤 其他

    (3)loadrunner脚本录制 (4)loadrunner序列号 (5)PIX基本配置 (6)VSS简单入门 (7)web测试技术经典案例 (8)WIN2003邮件服务器构建 (9)测试总结 (10)防火墙技术 (11)路由器配置命令 (12)企业防火墙安全防护配置七大问题...

    loadrunner 和 qtp 的一些资料

    - “QTP学习笔记-zhl更新.doc”可能是个人学习过程中的笔记,记录了使用QTP进行测试的具体步骤和心得。 5. LoadRunner教程: - “Loadrunner使用教程(免费).doc”提供了LoadRunner的基本操作和测试流程,适合初学...

    loadrunner

    ### LoadRunner 测试总结与心得 #### 一、功能测试用例编写心得 1. **用例编写过于简单,语言不规范**: - **改进措施**:在编写测试用例时,应确保语言规范、逻辑清晰。可以参考现有的最佳实践文档或指南,确保...

    LoadRunner性能测试巧匠训练营

    包括性能测试的术语、指标、分类、模型,LoadRunner VuGen、LoadRunner Controller、LoadRunner Analysis、JMeter、ab等各种性能测试工具的详细使用,以及测试脚本的开发。, 第二篇 新硎初试:以实战方式讲解.NET...

    Loadrunner性能测试一个实例

    比较普遍的性能测试工具是Loadrunner7.51,但是很多人对此性能工具不是很熟悉。本人也是总结心得体会,将做过的性能测试实例以饷大家,希望对各位做测试的朋友有所帮助。该方案是针对某公司  随着测试越来越重要,...

    study_loadrunner

    随着测试越来越重要,其中的性能测试也受到...比较普遍的性能测试工具是Loadrunner7.51,但是很多人对此性能工具不是很熟悉。本人也是总结心得体会,将做过的性能测试实例以饷大家,希望对各位做测试的朋友有所帮助。

Global site tag (gtag.js) - Google Analytics