LoadRunner函数

 

一、基础函数简介

  在VU左边导航栏中,有三个LoadRunner框架函数,分别是vuser_init()、Action()、vuser_end()。这三个函数存在于任何Vuser类型的脚本中。

  

  • vuser_init:虚拟用户的初始化函数,一般将用户初始化的操作放在这里,如登录操作、分配内存等。在做uvser_init的时候,Controller的Vuser状态区域会显示initialize状态(只运行一次)。
  • Action:虚拟用户要做的业务,用户的业务操作,也就是测试内容的主体。在VU里设置迭代循环选项时,只针对Action有效,Action会被重复运行,而init和end部分则在脚本的运行过程中只会运行一次。
  • vuser_end:与vuser_init相对应,uvser_end做收尾工作。在vuser_init中如果是登录,vuser_end里面就是退出登录;在vuser_init中如果是申请内存,比如使用了malloc函数,在vuser_end中应该就是释放内存,使用free函数。

  在VU右侧脚本编辑框中,我们看到的是Action的实现主体,在运行时,Action内的web_url函数会被调用执行。

  在LoadRunner的脚本中,我们可以调用三种函数:

  1. VU通用函数,一般以lr开头,就如上面的lr_start_transaction函数。
  2. 协议相关函数,不通类型的Vuser的函数一般以本协议类型开头。如果上面的脚本时Web(HTTP/HTML)类型的,web_url就是一个协议函数,web前缀说明它是属于Web HTTP协议的,HTTP协议函数还包括web_list、web_link。
  3. 语言相关函数。上面的VU脚本时用C语言写的,那么C语言的标准函数或dll都可以在这里被加载和使用。

二、通用VU函数

  通用VU函数是构建在C语言基础之上的脚本框架函数,起支持作用。通用VU函数有一个特征,就是以LR开头,以标明它们属于LR,而不专属于任何协议,只要是C脚本,都可以使用。

  通用VU函数可分为:

  • 事务控制函数;
  • 命令行分析函数;
  • 系统信息函数;
  • 字符串函数;
  • 日志函数;
  • 运行时函数;

  1、事务与事务控制函数

  软件系统的性能就是开一个个事务来度量的。LoadRunner中事务的定义就是靠事务函数来进行的,在执行性能测试时,LoadRunner会采集完成其定义的每个事务所花费的时间,并在性能测试后再Ayslysis中进行统计分析。

  • lr_end_sub_transaction:标记子事务的结束以便进行性能分析。
  • lr_end_transaction:标记LoadRunner事务的结束。
  • lr_end_transaction_instance:标记事务实例的结束以便进行性能分析。
  • lr_fail_trans_with_error:将打开事务的状态设置为LR_FAIL并发送错误消息。
  • lr_get_trans_instance_duration:获取事务实例的持续时间。
  • lr_get_trans_instance_wasted_time:获取事务实例浪费的时间。
  • lr_resume_transaction:继续收集事务数据以便进行性能分析。
  • lr_resume_transaction_instance:继续收集事务实例数据以便进行性能分析。
  • lr_set_transaction_instance_status:设置事务实例的状态。
  • lr_set_transaction_status:设置打开事务的状态。
  • lr_set_transaction_status_by_name:设置事务的状态。
  • lr_start_sub_transaction:标记子事务的开始。
  • lr_start_transaction:标记事务的开始。
  • lr_start_transaction_instance:启动嵌套事务。
  • lr_stop_transaction:停止事务数据的收集。
  • lr_stop_transaction_instance:停止事务数据的收集。
  • lr_wasted_time:消除所有打开事务浪费的时间。

  2、命令行分析函数

  当LoadRunner用命令行方式启动和运行时,以下函数用来分析命令行,以得到命令行中的参数信息。

  • lr_get_attrib_double:检索脚本命令行中使用的double类型变量。
  • lr_get_attrib_long:检索脚本命令行中使用的long类型变量。
  • lr_get_attrib_string:检索脚本命令行中使用的字符串。

  3、系统信息函数

  用来得到VU系统信息:

  • lr_user_data_point:记录用户定义的数据采集点。
  • lr_whoami:将有关Vuser的信息返回给Vuser脚本。
  • lr_get_host_name:返回执行Vuser脚本的主机名。
  • lr_get_master_host_name:返回运行LoadRunner Controller的计算机名。

  4、字符串函数

  主要是对参数进行操作,包括对不通类型参数的读取、存储和移动。

  • lr_eval_string:返回参数的当前值。
  • lr_save_string:将以NULL结尾的字符串保存到参数中。
  • lr_save_var:将变长字符串保存到参数中。
  • lr_save_datetime:将当前日期和时间保存到参数中。
  • lr_advance_param:前进到下一个可用参数。
  • lr_decrypt:解密已编码的字符串。
  • lr_eval_string_ext:lr_eval_string的扩展,为指向包含参数数据的缓冲区的指针。
  • lr_eval_string_ext_free:释放由lr_eval_string_ext分配的指针。
  • lv_save_searched_string:在缓冲区中搜索字符串实例,并将改字符串实例保存到参数中。

  5、消息函数

  是VU发送和记录log的函数

  • lr_debug_message:将调试消息发送到输出窗口。
  • lr_error_message:将错误消息发送到输出窗口。
  • lr_get_debug_message:得到当前的消息类。
  • lr_log_message:将输出消息直接发送到output.txt文件,此文件位于Vuser脚本目录中。
  • lr_output_message:将消息发送到输出窗口。
  • lr_set_debug_message:为输出消息设置消息类。
  • lr_vuser_status_message:生成格式化输出并将其打印到Controller Vuser状态区域。
  • lr_message:将消息发送到Vuser日志和输出窗口。

  6、运行时函数

  运行时(run-time)多数是通过VU的runtime来设置的。

  • lr_load_dll,加载外部dll。
  • lr_think_time:暂停脚本的执行,以模拟思考时间。
  • lr_continue_on_error,指定脚本如何处理错误场景,是继续还是退出。
  • lr_rendezvous:在Vuser脚本中设置集合点。

三、协议相关函数

  除了通用Vuser函数以外,Vugen还会在录制时生成特定于协议的函数,并将它们插入到Vuser脚本中。

  1、Http协议

  Header设置函数:

  • Web_add_header
  • Web_clean_header

  点击链接:

  • Web_link
  • Web_image

  提交表单:

  • Web_submit_data
  • Web_submit_form

  2、Web系统设置

  Cache设置:

  • Web_cache_leanup
  • Web_load_cache

  Cookie设置:

  • Web_add_cookie
  • Web_cleanup_cookies

  Proxy设置:

  • Web_set_proxy
  • Web_set_secure_proxy

  3、LoadRunner框架支持

  检查点:

  • Web_find
  • Web_image_check

  关联:

  • Web_create_html_param
  • Web_create_html_param_ex
  • Web_reg_save_param
  • Web_set_max_html_param_len

  控制:

  • Lr_start_transaction
  • Lr_rendzvous
  • Lr_think_time
复制代码
Action()
{Web_add_cookie("nav = 140, Domain = Dogbert");lr_think_time(7);Web_url("Login", "URL=http://127.0.0.1:9090/Account/Login", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t1.inf", "Mode=HTTP", LAST);
}
复制代码
  • 第一条语句Web_add_cookie的作用是保存Server传过来的cookie,以后的访问都会基于此cookie,直到脚本的结束。
  • 第二条语句lr_think_time,模拟用户思考时间,暂停7秒。
  • 第三条语句Web_url显示用户在IE地址栏输入http://127.0.0.1:9090/Account/Login,然后回车,IE发起一个访问的请求。

 

转载于:https://www.cnblogs.com/HCT118/p/5149354.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TPLink 备份文件bin文件解析

TPLink 路由器备份文件bin文件 测试路由器 WR885,备份文件加密方式DES,密钥:478DA50BF9E3D2CF linux端: openssl enc -d -des-ecb -nopad -K 478DA50BF9E3D2CF -in config.bin python: python默认没有安装crypto需要自…

linux的文件搜索命令,Linux文件搜索命令find的用法 | 术与道的分享

不管在Windows还是Linux中,最重要的问题不是说你能搜索到这个文件,而是最好少用搜索,应该是你在整个服务器的规划里面,把所以的文件目录规划的很好。就像如果你在家里找衣服,如果不是你乱扔,就不可能花费太…

vue v-if判断数组元素的值_Vue项目上线做的一些基本优化

前言本文主要是做一个Vue性能优化的帖子,做一个参考文档,对以后项目上线做一些集合文档。如果对各位在项目优化时,做一个文档参照。开发过程在开发项目的时候,就要注意项目的一些小技巧,下面我就罗列一些经常用到的优化…

BZOJ 4000: [TJOI2015]棋盘( 状压dp + 矩阵快速幂 )

状压dp, 然后转移都是一样的, 矩阵乘法快速幂就行啦. O(logN*2^(3m)) ---------------------------------------------------------------------------------------------#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define …

linux传文件file,linux文件的传输与压缩快速入门

scp --- 用于远程拷贝文件上传文件scp file userip:/file下载文件scp userip:/file filersync --- 远程同步&#xff0c;速度块&#xff0c;默认会忽略&#xff0c;文件属性&#xff0c;链接文件&#xff0c;设备文件-r --- 同步目录-p --- 同步权限-o --- 同步文件所有人-g --…

delphi 中如果不进行 closehandle 会怎么样_心理学:当你迷茫了,请坚持做三件事,你的未来会越来越好...

我们总是这样激励自己&#xff1a;未来是美好的。但是&#xff0c;生活不可能处处如意&#xff0c;人的一生也难以风平浪静&#xff0c;有巅峰就有低谷&#xff0c;有明朗就有迷茫。或是找不到未来发展的方向&#xff0c;或是事业、生活遭受了重大挫折&#xff0c;我们每个人都…

随笔2 PAT1001.A+B Format (20)

1001.AB Format(20) 题目链接 1001.AB Format (20) C 代码 第一次使用markdown&#xff0c;还不是很习惯&#xff0c;现在努力的在适应它 首先这道题我们很容易就可以读懂题意&#xff0c;就是简单的ab&#xff0c;只不过要求我们在输出sum的时候处理一下数字的格式。那么我的做…

mybatis传递多个参数_深入浅出MyBatis:MyBatis解析和运行原理

原文&#xff1a;https://juejin.im/post/5abcbd946fb9a028d1412efc本篇文章是「深入浅出MyBatis&#xff1a;技术原理与实践」书籍的总结笔记。上一篇介绍了反射和动态代理基础&#xff0c;主要是为本篇文章做个铺垫&#xff0c;反射使配置和灵活性大大提高&#xff0c;可以给…

linux ps 进程组,linux进程管理(2)---进程的组织结构

一、目的linux为了不同的进程管理目的&#xff0c;使用了不同的方法组织进程之间的关系&#xff0c;为了体现父子关系&#xff0c;使用了“树形”图&#xff1b;为了对同一信号量统一处理&#xff0c;使用了进程组&#xff1b;为了快速查找某个进程&#xff0c;使用了哈希表&am…

统计建模与r软件_【统计建模与R软件笔记】008 描述统计量(1)

今天我们开始来学习描述统计量吧&#xff01;位置的度量位置的度量就是用来描述定量资料的集中趋势的统计量&#xff0c;常用的有均值、众数、中位数、百分位数等。1.均值 mean( )形式&#xff1a;mean(x, trim 0, na.rm FALSE)x 是对象(如向量、矩阵、数组或数据框)trim 是计…

npm环境安装linux,Node.js环境在linux上的部署教程

我们以centOS为例来说说如何部署node.js环境一 打开centos,然后开始下载node.js包curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -yum -y install nodejs二 安装gcc环境yum install gcc-c make安装完成!三 安装nodejs的npm,这是一个包程序工具,类似于…

Nancy跨平台开发总结(三)发布到Jexus Web服务器

在Centos7上安装Mono yum install yum-utils rpm --import "http://keyserver.ubuntu.com/pks/lookup?opget&search0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" yum-config-manager --add-repo http://download.mono-project.com/repo/centos/ yum install m…

stat函数_数据分析工具入门 掌握这些Excel函数就够了

1.什么是函数可以把函数理解为一个可以控制的黑箱子&#xff0c;输入X到黑箱子中&#xff0c;他就会输出Y&#xff0c;参数就是黑箱子的控制开关&#xff0c;打到不同的档位&#xff0c;黑箱子会输出不同的Y。2.常见函数分类文本清洗函数关联匹配函数逻辑运算函数计算统计函数时…

mysql获取当前时间毫秒_MySQL性能指标及计算方法

是新朋友吗?记得先点蓝字关注我哦~ 今日课程菜单 Java全栈开发 | Web前端+H5 大数据开发 | 数据分析 人工智能+Python | 人工智能+物联网 来源:小职(z_zhizuobiao) 找我:✅ 解锁高薪工作 ✅ 免费获取干货教程 未 完 待 续 绝大多数MySQL性能指标可以通过以下两种方式获取:…

哈希查找

哈希查找之前&#xff0c;我们要弄清楚哈希技术&#xff0c;哈希技术是在记录的存储位置和记录的关键字之间建立一个确定的对应关系f&#xff0c;使得每个关键字key对应一个存储位置f(key)。查找时&#xff0c;根据这个确定的对应关系找到给定值的映射f(key),若查找集合中存在这…

fedora 安装Linux源码,如何在 Fedora 29/30 上安装 VS Code

Visual Studio Code 简称 VS Code 是微软开发的一款跨平台的源代码编辑器。 它具有内置的调试支持&#xff0c;嵌入式 Git 控件&#xff0c;语法突出显示&#xff0c;代码完成&#xff0c;代码重构和代码片段。Visual Studio Marketplace 提供了许多插件和扩展来扩展VS代码的功…

三菱伺服驱动器说明书_张家港市HG-KN13J-S100三菱伺服控制器

张家港市HG-KN13J-S100三菱伺服控制器MR-J2S1该产品还有RS-232和RS-422串行通讯功能&#xff0c;通过安装有伺服设置软件的个人计算机就能进行参数设定&#xff0c;试运行&#xff0c;状态显示和增益调整等操作。2与MR-J2S系列配套的伺服电机编码器采用了分辨率为131072脉冲/转…

Linux 禁用msi模式,通过禁用MSI模式解决Win10磁盘占用100%的方法

许多win10系统用户会在电脑中安装ssd固态硬盘&#xff0c;而在使用过程中经常会出现卡顿的情况&#xff0c;检查之后发现磁盘占用率100%&#xff0c;这是怎么回事呢&#xff0c;那么其实我们可以通过禁用MSI模式来解决&#xff0c;接下来给大家讲解一下通过禁用MSI模式解决Win1…

oracle jdbc jar包_Oracle总结之plsql编程(基础七)

紧接基础六&#xff0c;对oracle角色和权限的管理之后&#xff0c;在接下来的几次总结中来就最近工作中用过的plsql编程方面的知识进行总结&#xff0c;和大家分享&#xff01;一、plsql块1、只包括执行部分的plsql块打开输出选项&#xff1a;set serveroutput on&#xff1b;b…

Visual Studio调试之断点基础篇

原文链接地址&#xff1a;http://www.cnblogs.com/killmyday/archive/2009/09/26/1574311.html 我曾经问过很多人&#xff0c;你一般是怎么调试你的程序的&#xff1f; F9, F5, F11, F…… 有很多书和文章都是介绍怎么使用Visual Studio编写WinForm啦,、ASP.NET之类的程序&…