脚本文件不变色_LoadRunner脚本开发
》》》推荐阅读《《《
1、性能测试学习笔记-场景设计
2、性能测试的重要意义
3、性能分析流程及方法
4、应用系统性能调优之性能分析
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]
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:
SET LR80=C:\Program Files\Mercury Interactive\Mercury LoadRunner\bin
cd %LR80%
wlrun.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代码块如下:
#includeas_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的函数。
#include "globals.h" LoadRunner'的模版文件夹的其中一个。
#include "vuser_init.c"
#include "Action.c"
#include "vuser_end.c"
警告:当你使用类库中的函数却没有正确包含该类库的时候,你会收到一条错误信息:
Error -- Unresolved symbol
C类库
LoadRunner 使用
1994 GNU C Pre-Processoroptions 和
1995 LCC-win32 Retargetable C Compiler/Linkerfrom 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);
》》》推荐阅读《《《
1、性能测试学习笔记-场景设计
2、Web站点性能调优完全攻略
3、应用系统性能调优之性能分析
4、Windows监控——性能指标详解
6、性能测试的重要意义
7、软件性能测试的本质_致命版
8、性能分析流程及方法
9、性能测试流程
10、性能测试从需求分析开始
11、性能测试指标
12、双活数据中心揭秘之—DB2 PureScale
13、循序渐进学习oracle
14、软件项目管理中的十个误区
15、功能测试方法总结及常见面试问题
16、MQ来账通道及队列配置
17、Linux命令大全整理
18、JMeter工具简单介绍
19、性能瓶颈分析方法
20、性能测试-LoadRunner操作流程之一
22、性能测试-LoadRunner操作流程之二
23、性能测试-LoadRunner操作流程之三
24、性能测试-脚本编写之一
25、性能测试-脚本编写之二
26、性能测试-脚本编写之三
27、性能测试-性能调优之一
28、性能测试-性能调优之二
脚本文件不变色_LoadRunner脚本开发相关推荐
- cad脚本合适_如何制作cad脚本文件?cad脚本文件怎么做?
CAD制作脚本文件教程: 1.打开一个新的记事本文件.您可以通过单击开始->运行,编写记事本并按Enter来完成此操作. 2.从计算出的源文件复制并粘贴需要在AutoCAD中绘制的数据. 3.在 ...
- linux运行脚本文件python,Python脚本:Linux自动化执行Python脚本
1.环境及其工具: ubuntu 16.04 python2.7(自带) pip2.7(安装) virtualenv(安装) crontab (自带) 2.pip2.7安装 (1)尝试使用 sudo ...
- linux新建脚本文件,linux shell脚本编程2—修改文件时间和创建新文件即touch命令的使用...
在使用ls命令时,每个文件在Linux下面都会记录3个主要的修改时间: modification time(mtime,修改时间):当该文件的"内容数据"更改时,就会更新这个时 ...
- 《游戏脚本的设计与开发》-1.1 读取和解析一个脚本文件
上一篇<游戏脚本的设计与开发>-序中我介绍了游戏脚本的基本概念和准备工作,本篇来说说具体如何解析一个脚本 所谓解析脚本,就是按照自己定义的语法,将每一个脚本命令还原成不同的代码逻辑进行执行 ...
- (33)Gulp构建脚本文件
一.构建脚本文件流程图 构建脚本文件和我们构建样式文件是一样的,也是将源代码进行编译,编译以后压缩,然后重命名,最终成为目标文件. 这里脚本文件压缩是将ES6语法转换成ES5语法,比如说箭头函数,它在 ...
- Windows PowerShell 2.0创建调用脚本文件
在PowerShell中不存在文件和目录的概念,涉及文件和目录的操作总是转换为项(item)处理,即Get-Item.Get-ChildItem和Get-ItemProperty.在PowerShel ...
- 使用 Windows 脚本文件 (.wsf)
使用 Windows 脚本文件 (.wsf) Windows 脚本文件 (*.wsf) 是含有可扩展标记语言 (XML) 代码的文本文档.它综合了几个可增强脚本灵活性的功能.由于 Windows 脚本 ...
- [转载]初识Windows 脚本文件(*.wsf)
初识Windows 脚本文件(*.wsf) Windows 脚本文件(*.wsf) 是含有可扩展标记语言 (XML) 代码的文本文档,它综合了几个可增强脚本灵活性的功能.由于 Windows 脚本文件 ...
- 用C#执行vbs脚本文件
最近Windows服务器自动备份占用磁盘快满了,之前的解决的方法是编写vbs脚本自动压缩备份文件,需要在windows设置计划任务来执行,最近发现计划任务执行失败了,还得重新登录windows重启计划 ...
- 分析脚本文件AndroidInitProcess分析心得(1)
本篇文章是一篇关于分析脚本文件的帖子 众所皆知,Android Init process是Android动启后先最起来的进程. 真正说来Android Init process是由Linux ...
最新文章
- JSP内置对象-exception
- 网易云信入选《2021 年浙江省首版次软件产品应用推广指导目录》
- 采访问题 What is your role at XX and what are your responsibilities
- 二叉树的存储结构及四种遍历(C语言)
- 合并多个nc数据_气象数据处理的火箭加速器—CDO
- vue实现5秒后自动隐藏_王者荣耀:玩家选中单妲己被5楼疯狂嘲讽,发出战绩后,秒变舔狗...
- The King’s Problem 强连通
- windows以G为单位整数分区公式(精准)
- BeanUtils简介
- 极目智能完成2亿元C1轮融资,已获多个乘用车ADAS项目定点
- 用户与计算机的交互界面是什么,终于知道交互界面设计是什么
- linux 下如何回到根目录
- Android 9 低内存应用程序保活
- 直播设备之技术分享:全NDI 和NDI |HX
- 虚拟同步发电机_一种基于下垂控制和增加虚拟阻抗的逆变器并联仿真实现
- net-java-php-python-宠物销售系统计算机毕业设计程序
- Marvell以太网交换芯片-88E6390x-简介
- Intellij IDEA使用(十四)—— 在IDEA中创建包(package)的问题
- 单光感pid巡线_乐高4种单光感巡线逻辑
- Python爬虫获取迅雷会员帐号