- 浏览: 427179 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
iwwenbo:
别逗好不好
Popup.js 弹出窗口 -
bugnuke:
尼玛 跑不了。。。
Popup.js 弹出窗口 -
tangzhifei:
创建Subversion授权文件放哪目录下?前面我的都对了,到 ...
Trac系列(8):windows下Apache+SVN+Trac安装及配置(一) -
zoutuo1986:
正在安装,确实很慢,一定要选择网速快的时候安装,
eclipse 插件springide安装 -
johnsonyang:
this.jmsTemplate.send(
...
spring,weblogic配置jms
中午看了两集《奋斗》发现越看越想看,但是想到好不容易没上班,在家还是赶紧学习下LR的知识吧。下面这个网页的文章原来也是看过的,但发现没几天就忘记了,为了加深学习的印象,特把它翻译出来。http://www.wilsonmar.com/1lrscrīpt.htm上是关于脚本编写的介绍.下面是第一部分,脚本的开发.
VuGen脚本文件的开发过程
1。定义测试项目的目标,环境,脚本,测试数据,硬件等。脚本应该符合编码规范或编码习惯。
2。创建一个版本文件夹来保存被测应用程序相关的各种不同资源,例如截获的.png/.gif图形文件,录制过程保存的html文件,录制中的所有html源文件和VuGen的录制日志。
3。列出(在表里)每一个手动操作业务过程需要的实际步骤
1)截取每一个屏幕图像(screen image )。
2)为每一个屏幕(screen)分配一个唯一的事务名称。
3)为处理的每一个步骤使用的技术组件(URL或者方法和函数)做注释。
4。创建一个版本文件夹。
注:我不喜欢使用默认位置,我喜欢把所有脚本相关的文件放到一个相同的文件夹中。不幸的是,这意味着如果我在不同的测试间互相交换录制,那我每次都得记住修改默认的设置。
注:当录制一个新的脚本时,我喜欢选择多协议而不是单个协议。。。
5。根据你的业务处理列表上指定的用户使用步骤和screen的顺序来使用VuGen录制程序,产生一系列脚本代码。在“开始录制”对话框中
* 使用COM/DCOM 协议时,选择“Win32应用程序“
* 使用Web(HTTP/HTML)时,选择“Internet Application“
6。根据改进脚本方法和脚本语言规则来修改脚本。
改进脚本的方法:
1)为每一个GUI的screen添加事务语句来获得事务时间。
2)添加显示数据来帮助调试。
3)添加验证点来验证是否期望的文本或者图片在每个脚本执行后显示。
4)通过插入新参数和动态获得整个文件的方式对硬编码的URL,用户id,用户密码和其他的变量数据进行参数化。这样脚本中的参数就可以被动态的替换,以此来模拟运行时不同数据的使用。
5)添加重试逻辑(retry logic)来处理不可见的错误。
6)添加随机函数发生器变化脚本来模拟真实的负载。
7)添加if/else逻辑来检查结果,或者来进行合适的操作,或者来在合适的时候退出脚本。
8)在一个screen中添加语句来捕获需要在其他命令中使用的数据。当使用Microsoft .NET的web form技术的时候,需要避免习惯性的“脚本超时“错误。
9)添加语句来调用外部库函数,以便保存和检索在内存Virtual Table Server中的数据。
10)处理XML.
11)添加语句来模仿客户端的Javascrīpt问题。
12)添加语句来管理超时。
13)从事务计时器中计算和减去无效的时间。
14)输出日志。
15)添加集合点。
16)添加时间(Timing)。
脚本语言规则:
把cookie代码标注出来(因为脚本运行的时候他们被再次执行)。
7。通过在VuGen中运行来调试和调整脚本(单个用户),同时运行时设置的日志能够显示如下信息:
辨别和解决脚本编辑错误。
决定timing.
设置初始运行设置的场景。
8。在控制器中使用full test Runtime Settings来运行脚本。
脚本录制和产生:
建立一个新脚本的第一步是选择一个单协议或多协议。
* 一些协议可能在多协议模式下不能用。
* 只有在多协议的GUI下你才能重新排列action
在使用Java协议之前,确保你在环境变量的路径下有JDK,否则你可能会遇到这个错误:
Error: Failed to find javac.exe Java Compiler in Path and JDK installation folder in registry. [MsgId: MERR-22981] 51Testing软件测试网z*u?2Lge
Error: Failed to get JRE version. Check that your PATH environment variable contains \bin directory. [MsgId: MERR-22986]
当选择Java协议的时候:
* 只有选择了“RMI Java”才能录制。
* 如果选择“Java user”,“开始录制”图标或菜单是灰色的。
当你打开一个新的脚本时,默认的脚本名称为“noname1”。下一个新的脚本名称为“noname2”,以此类推。
注:有顺序的录制多个动作(而不是录制一个动作,然后停止开始另一个动作)。这样能使你识别出在你脚本中需要关联的序列码(在例如PeopleSoft的程序中)。
注:每次修改脚本后,脚本都需要重新编译。
Java:略
脚本文件的调用:
VuGen是默认在你双击.usr后缀文件的时候被调用。
在这个文件里,Javascrīpt被指定为“Type=General-Js”。
为了避免重新编译,我使用命令行的变量和值得组合这样的批处理文件来调用控制器。例如:
-
REM LoadRun from LoadRunner 8.0 default installation location:
b#E(N1t+v6l5B$R0SET LR80=C:\Program Files\Mercury Interactive\Mercury LoadRunner\bin 51Testing软件测试网 BHY2uq r+N
cd %LR80%
3R+MD2~4|%mB0wlrun.exe -TestRun c:\Temp\Scenario1.lrs -port 8080
脚本文件Action
主机上的代理发送的到服务器的请求是由虚拟用户生成器创建的(VuGen.exe)action的回放实现的。
Loadrunner创建的脚本有三部分:
* vuser_init 来初始化 Vuser。执行在这部分的虚拟用户的状态是"Init"
* Action 用来重复多次迭代 执行到这部分的虚拟用户的状态是"Running"
* vuser_end 推出虚拟用户。 执行到这部分的虚拟用户的状态是"Exiting"
如果你的脚本只需要执行一次,你仍然需要把这些脚本写到Action部分,因为在其他部分(vuser_init 和vuser_end)有些命令是不合法的或者会忽略掉。
VuGen允许脚本包含多个action。所以我为每一个screen创建一个新的action。
注:如果你想使用不同的用户登陆,就不要把登陆操作放到vuser_init中,而是放到action部分。
VuGen根据选择脚本选择协议的不同来添加不用的引用到“.h”头文件。
C的.h头文件
对于Web(HTTP/HTML)协议,
创建globals.h,包含内容:
#ifndef _GLOBALS_H
#define _GLOBALS_H
//--------------------------
// Include Files
#include "lrun.h"
#include "web_api.h"
#include "lrw_custom_body.h"
// recorded for web_custom_request functions.
//--------------------------
// Global Variables
#endif // _GLOBALS_H
对于COM/DCOM协议:略
C脚本语言的格式:
LoadRunner使用的没有进行微软扩展的ANSI C语法。任意最小的action代码块如下:
#include as_web.h // from LoadRunner's include folder. Action1() { /* comment block */ // comment line return 0; }
C脚本编译/类库
当VuGen编译脚本时,产生一个"pre_cci.ci"文件,这个文件包含了所有action的代码和包含文件。这就是为什么会有语法错误“not writing pre_cci.ci”的原因。
控制器编译这些.ci文件为机器目标码。
VuGen在每一个脚本文件中自动创建一个lib文件夹,这个文件夹中包含了combined_lib.c文件。该文件包含了所有引用文件。
#include "lrun.h" 来定义 UNIX或者Windows的函数。51Testing软件测试网bqS+~Rmo
#include "globals.h" LoadRunner'的模版文件夹的其中一个。
#include "vuser_init.c" 51Testing软件测试网GG7e'o2|-\{)\
#include "Action.c" 51Testing软件测试网&GyO8` b{7G
#include "vuser_end.c"
警告:当你使用类库中的函数却没有正确包含该类库的时候,你会收到一条错误信息:
-
Error -- Unresolved symbol
C类库
LoadRunner 使用 1994 GNU C Pre-Processor options 和 1995 LCC-win32 Retargetable C Compiler/Linker from the Free Software Foundation via Chris Fraser of AT&T and Dave Hanson of Princeton.
附加的函数定义在 ANSI C library中。
外部的没有返回整型数的C函数需要在脚本的开头进行显式声明。例如,string函数中的 string tokenizer:
extern char* strtok(char *token, const char *delimiter);
Java语法:略
OK,先到这里,休息一下,下期接着翻译LR脚本相关知识.
发表评论
-
Loadrunner关联
2008-09-28 16:40 3997Loadrunner关联(一)什么 ... -
LoadRunner监控器系列-How to set up the WebLogic monitor
2008-09-28 16:37 2757Installation Overview LoadRunne ... -
Loadrunner 测试sql语句性能
2008-09-28 11:05 6028本次通过loadrunner录制Sql ... -
如何在 LoadRunner 脚本中做关联 (Correlation)
2008-09-28 11:04 3044当录制脚本时,VuGen会 ... -
lr监视的性能计数器
2008-09-28 10:59 1761Memory: 内存使用情况可 ... -
十步完成Web应用程序压力测试
2008-09-28 10:55 1735Web 应用程序是决定网站 ... -
分析图表-中级测试师用
2008-09-28 10:52 1429在论坛混了多日,发现越来越多的性能测试工程师基本上都能够掌握利 ... -
LR性能分析图解释
2008-09-27 11:23 2367Transactions(用户事务分析)用户事务分析是站在用户 ... -
Loadrunner关于页面检查的几个函数详解
2008-09-27 11:07 3140环境:51Testing软件测试网/VDn_([Loadrun ... -
Loadrunner 日志参数的设置与使用
2008-09-27 11:05 2536转载请注明出处:http://www.51testing.co ... -
lR知识
2008-09-23 16:25 1321问题1:LoadRunner响应时间 ... -
性能瓶颈分析方法
2008-09-23 16:19 3311同一场景1.小用户量的情况下测试2.大用户量情况下的测试分析的 ... -
LoadRunner中HTTP协议的录制及两种录制模式的比较
2008-09-23 14:36 2032一,脚本编写 1, “HTML –base scrīpt”和 ... -
LoadRunner例子:检查点为参数的一个例子
2008-09-23 14:30 2682检查点是LoadRunner的一个功能,用来验证业务功能的正确 ... -
LoadRunner中字符串的操作
2008-09-23 14:29 2366LoadRunner中常用的字符串操作函数有: ... -
LoadRunner编程之文件的操作
2008-09-23 14:28 2024这篇文章主要写下LoadRunner下如何进行文件的操作。 1 ... -
LoadRunner关联函数的脚本实例--如何操作关联参数
2008-09-23 14:24 4925这几天一直在学习LoadRunner的VuGen编程,今天想对 ... -
关于Loadrunner非常好的英文网站
2008-09-23 14:07 1884今天无意间在一个测试同行的BLOG中发现了这个网站的链接: h ... -
LoadRunner脚本编写(6)— 数据类型转换和字符串操作
2008-09-22 16:05 4697一,数据类型转换 没有使用过C编程的LoadRunner脚本编 ... -
LoadRunner脚本编写(5)-- 检查点,关联等函数
2008-09-22 16:04 4114本文接着前面脚本编写4 http://www.51testin ...
相关推荐
【LoadRunner学习---脚本编写系列】是一系列关于LoadRunner工具中脚本开发的文章,旨在帮助读者掌握如何高效地编写LoadRunner脚本。LoadRunner是一款功能强大的性能测试工具,通过模拟多个用户并发执行脚本,以检测...
【标题解析】 "使用LoadRunner-编写JAVA-测试脚本.zip" 这个标题指出,这...综上所述,这个压缩包的内容很可能是对以上各个知识点的详细讲解和示例代码,适合希望学习或提升LoadRunner Java脚本编写技能的测试工程师。
【使用LoadRunner编写JAVA测试脚本】 LoadRunner是一款强大的负载测试工具,它允许测试人员模拟大量用户并发执行任务,以评估应用程序的性能和稳定性。在本文档中,我们将重点讨论如何使用LoadRunner来编写JAVA测试...
例如,VUGen(Virtual User Generator)用于编写和编辑脚本,Controller用于管理和执行测试场景,而Analysis则用于分析测试结果。 总结来说,LoadRunner11的Load Generator在Linux平台上的运用,使得性能测试更具...
3. 自动化能力:Linux环境与各种脚本语言(如bash、Perl、Python等)的兼容性好,便于自动化测试脚本的编写和执行。 三、LoadRunner 11负载生成器安装 1. 准备工作:确保Linux系统满足LoadRunner 11的硬件和软件...
使用这些代码,我们可以学习如何将外部数据源与LoadRunner脚本生成过程结合,从而提高脚本创建的灵活性和效率。 在实际应用中,批量动态生成脚本对于测试大规模系统、模拟复杂用户行为或进行压力测试时非常有用。它...
总之,LoadRunner的错误解决需要综合理解其工作原理,熟练掌握脚本编写、回放、监控和结果分析等环节。通过不断实践和学习,我们可以逐步克服这些挑战,提升性能测试的效率和质量。在遇到问题时,利用官方文档、社区...
1. **创建脚本**:通过VuGen录制实际用户操作,转换成可执行的测试脚本,或直接编写脚本来模拟特定的业务流程。 2. **回放脚本**:在Controller中设定运行时行为,实时监控脚本的执行情况,收集系统性能数据。 3. ...
LoadRunner脚本编写
2. 支持多平台开发的脚本:用户可以针对不同平台编写测试脚本,提高脚本的适用范围。 3. 创建真实的系统负载:模拟实际应用场景中产生的负载,更加准确地反映系统在真实环境中的表现。 4. 强大的实时监控与数据采集...
### Loadrunner脚本编写知识点详解 #### 一、Loadrunner脚本编写概述 Loadrunner是一款由Micro Focus公司出品的功能强大的性能测试工具,主要用于预测系统行为并优化其性能。其中脚本编写是Loadrunner的核心功能之...
HP LoadRunner软件配置、脚本编写和执行指南.pdf HP LoadRunner软件配置、脚本编写和执行指南.pdf HP LoadRunner软件配置、脚本编写和执行指南.pdf HP LoadRunner软件配置、脚本编写和执行指南.pdf
在实际使用LoadRunner时,还需要了解如何编写和修改测试脚本,以及如何解读和分析测试结果,以便对系统性能进行有效的评估和优化。 总的来说,LoadRunner 11.0 for Linux是一个强大的性能测试工具,尤其适用于需要...
《性能测试从零开始——LoadRunner入门》资源下载,这可能是一份详细的学习资料,包括LoadRunner的基本操作、脚本编写、场景设置以及结果分析等方面,对初学者非常有帮助。 通过深入学习和实践,你将能够熟练掌握...
LoadRunner 脚本编写技术指南 LoadRunner 脚本编写技术指南旨在提供 Web(http/html) 协议脚本编写方法和技术指南,指导脚本开发人员编写高质量的 LoadRunner 脚本。该指南涵盖了 Web(http/html) 协议的基础知识、...
LoadRunner的教程中包含了创建负载测试的基本流程,从编写测试脚本到分析测试结果。脚本创建是通过录制用户的业务流程来完成的,之后可能需要根据需要修改脚本以模拟不同用户的多种行为。在回放脚本时,需要设置运行...
### LoadRunner脚本编写教程详解 #### 一、LoadRunner脚本生成方法及优缺点分析 **1. 自动录制生成脚本** - **优点**:简单易用,适合初学者快速入门。录制过程能够自动捕获应用程序的操作流程,生成相应的脚本。...
### LoadRunner创建测试脚本教程详解 #### 一、引言 LoadRunner 是一款由惠普公司开发的负载测试工具,广泛应用于软件性能测试领域。它可以帮助开发者和测试工程师模拟真实用户的行为,评估应用程序在压力下的表现...
### LOADRUNNER .NET ADD-IN 编写的性能测试脚本实例解析 #### 一、概述 性能测试是软件测试中的一个重要环节,它旨在评估系统在压力条件下的表现,确保其能够在预期的工作负载下正常运行。LoadRunner 是一个广泛...