loadrunder之脚本篇——action分类
Action分类
l . Vuser_init
2. Vuser_end
3. Action
在lr中用户的初始化操作应该存放在Vuser_init中。用户的结束操作存放在Vuser_end中。因为这两个Action在后面的Run Logic默认设置中是处在脚本最先运行和最后运行的位置,并且负载时,不管迭代多少次,Vuser_init和Vuser_end只会在开始和结束时被运行一次。
Action用来存放用户的操作,可以当作普通的函数在负载,迭代时会被反复运行。
所以,一般情况下,我们把登录部分放到vuser_init中,把登录后的操作部分放到Action中,把注销关闭登录部分放到vuser_end中,具体的,录制时可以通过如下方式切换Action,然后进行录制操作来实现,这种是比较复杂的业务场景。如果只是单个功能的话,登录放在action中即可。
每个Action都对应着一个函数,同时也对应脚本目录中的一个函数脚本,比如
上面对应的函数分别是:
vuser_init()
Action()
Action2()
vuser_end()
对应的脚本分别是:
vuser_init.c
Action.c
Action2.c
vuser_end.c
备注:如果函数被删除,后台对应脚本依然存在
当使用JAVA类的Vuser脚本时,把所有代码都放在Actions类中。Actions类包含三个方法:init, action, end.这三个方法对应使用其它协议开发的脚本的会话—把初始化操作放在init方法,客户操作放在action方法,退出操作放在end方法
如下:
public class Actions{
public int init() {
return 0;
}
public int action() {
return 0;
}
public int end() {
return 0;
}
}
loadrunder之脚本篇——action分类的更多相关文章
- loadrunner 脚本录制-Action分类
脚本录制-Action分类 by:授客 QQ:1033553122 Action分类 l . Vuser_init 2. Vuser_end 3. Action 在lr中用户的初始化操作应该存放在V ...
- loadrunder之脚本篇——接口传参为本地文件
导言 前几天需要对公司一个专门很重要的接口进行压测,这个还不是重点,重点是传参为本地的图片!刚刚开始通过web_custom_request()函数来解决,可是脚本并不能通过!后面又百度不到答案,通过 ...
- loadrunder之脚本篇——脚本基础知识和常用操作
1)编码工具设置 自动补全输入Tools->General Options->Environment->Auto complete word 显示功能语法Tools->Genr ...
- loadrunder之脚本篇——定义全局变量
如果参数是全局的,在脚本中的任何一个Action中都可以使用,变量一般是局部的,如果跨Action调用会出现未声明的错误. 打开Script视图中左侧Action列表中的globals.h文件,可定义 ...
- loadrunder之脚本篇——int类型和字符串的相互转换
字符串转化为int型变量 Action2() { int j = 0; j = atoi("12345"); //将字符串变为整形 lr_output_message(" ...
- loadrunder之脚本篇——Run-time Settings之Pacing
As soon as the previous iteration ends 前一个迭代一结束就尽可能快的开始新一轮的迭代 After the previous iteration ends ...
- Loadrunder之脚本篇——关联函数对话框详解
Insert->New Step,打开Add Step对话框 选择函数web_reg_save_param,点击OK,打开关联函数设置窗口 说明: Parameter Name 此处设置存放参数 ...
- Loadrunder之脚本篇——关联
关联的原理 关联也属于一钟特殊的参数化.一般参数化的参数来源于一个文件.一个定义的table.通过sql写的一个结果集等,但关联所获得的参数是服务器响应请求所返回的一个符合条件的.动态的值. 例子:常 ...
- loadrunder之脚本篇——集合点设置
1 作用 通过让多用户在同一时间点上进行并发操作来测试系统的并发处理的能力 2 实现 通过集合点函数来实现. 注意:集合点经常和事务结合起来使用.集合点只能插入到Action部分,vuser_in ...
随机推荐
- boost中全局命名锁的使用
使用头文件相对位置为:boost/interprocess/sync/named_mutex.hpp 在程序中使用 boost::interprocess::named_mutex g_namedmu ...
- deepin linux下eclipse c/c++ 调试开源代码
1.deepin linux 下使用eclipse c/c++ 调试2. 编译选项,-g3 -O0,-g3表示输出调试信息,-O0不优化代码(第一个字母o的大写,第二个是数字0) 3.必备环境: gd ...
- C语言指针解说
指针是C语言的一种数据类型.类似于C中的其它类型,比如int ,char 等.既然指针是一种类型,当我们定义该类型变量.该类型变量就称为指针变量. C中有了指针就有了指向. 指向:指针变量指向本身保存 ...
- tic-tac-toe游戏代码
package com.p4f.tictactoe.demo; import javax.swing.border.Border; public class Board { /** * positio ...
- python笔记2 生成器 文件读写
生成器 一边循环一边计算的机制,称为生成器(Generator). 把一个列表生成式的[]改成(),就创建了一个generator: 创建了一个generator后,通过for循环来迭代它. 著名的斐 ...
- 【转】如何彻底删除SVN中的文件和文件夹(附恢复方法)
这里假设SVN项目的目录为 /data/svn/project,我们想排除trunk/test.exe文件和trunk/notallowed/目录,操作步骤如下及执行的svn命令(在svn安装目录的b ...
- fedora上安装sun jdk
系统被来就有openjdk,但是开发工具需要sun的jdk,于是下载一个压缩包并解压到一个位置.使用alternative命令切换 alternatives --.0_79/jre/bin/java ...
- VLine[-1]=VLine[width]=128 数组的负一地址代表啥
最近在调算法是,涉及到rgb转yuv数据的一个函数,出现了这种常见错误:如下 unsigned char *VLine = (new unsigned char[width+2]);//+1; ...
- MTK驱动探索:mtk6582添加tp驱动s3203
代码从mtk6589平台移植,ic为用户定制. 解决的问题有: 一.build err:主要原因是89和82平台函数和宏定义冲突,如: extern void mt_eint_unmask(unsig ...
- 【spring boot logback】spring boot中logback日志乱码问题
在初次使用logback的自定义配置文件完整的控制spring boot日志后,发现了一个无法忍受的问题,就是日志乱码. 控制台看到打印日志乱码如下: 而日志文件打开: 记事本打开 sublime打开 ...