LoadRunner参数和变量之间的转换
这是用LoadRunner自定义监控Tomcat的脚本为基础而写的脚本.阐述了参数相互之间以及参数与变量之间复制传递原理.下面的代码注释是按照自己的理解写的,正确性不一定保证.
- Action()
- {
- //定义三个字符数组用于条件判断
- char jFM[100];
- char jTM[100];
- char jMM[100];
- //必须要预先声明数据转换函数,否则得到的监控结果不正确.
- double atof(const char *string);
- //以下三个web_reg_save_param负责从Tomcat中抓取监控数据
- web_reg_save_param("JVM_Free_Memory",
- "LB=Free memory:",
- "RB=MB",
- "ORD=1",
- LAST);
- web_reg_save_param("JVM_Total_Memory",
- "LB=Total memory:",
- "RB=MB",
- "ORD=1",
- LAST);
- web_reg_save_param("JVM_Max_Memory",
- "LB=Max memory:",
- "RB=MB",
- "ORD=1",
- LAST);
- //设定监控事务
- lr_start_transaction("Status");
- //登陆Tomcat
- web_set_user("admin", "admin", "localhost:8080");
- //Tomcat监控URL
- web_url("status",
- "URL=http://localhost:8080/manager/status",
- "Resource=0",
- "RecContentType=text/html",
- "Snapshot=t1.inf",
- "Mode=HTML",
- LAST);
- lr_end_transaction("Status", LR_PASS);
- //通过用户自定义监控Tomcat_JVM的使用情况
- //lr_user_data_point("JVM Free Memory", atof(lr_eval_string("{JVM_Free_Memory}")));
- //lr_user_data_point("JVM Total Memory", atof(lr_eval_string("{JVM_Total_Memory}")));
- //lr_user_data_point("JVM Max Memory", atof(lr_eval_string("{JVM_Max_Memory}")));
- lr_output_message("**********************************");
- //打印监控值
- lr_output_message(lr_eval_string("{JVM_Free_Memory}"));
- lr_output_message(lr_eval_string("{JVM_Total_Memory}"));
- lr_output_message(lr_eval_string("{JVM_Max_Memory}"));
- lr_output_message("**********************************");
- //将参数的值保存在另外一个参数中(其实从运行原理上说,类似于C++中的引用)
- lr_save_string(lr_eval_string("{JVM_Free_Memory}"), "JFreeMem");
- lr_save_string(lr_eval_string("{JVM_Total_Memory}"), "JTotalMem");
- lr_save_string(lr_eval_string("{JVM_Max_Memory}"), "JMaxMem");
- lr_output_message("**********************************");
- //打印"引用"中的值
- lr_output_message(lr_eval_string("{JFreeMem}"));
- lr_output_message(lr_eval_string("{JTotalMem}"));
- lr_output_message(lr_eval_string("{JMaxMem}"));
- lr_output_message("**********************************");
- //将参数值赋给变量(字符串数组)
- strcpy(jFM, lr_eval_string("{JVM_Free_Memory}"));
- strcpy(jTM, lr_eval_string("{JVM_Total_Memory}"));
- strcpy(jMM, lr_eval_string("{JVM_Max_Memory}"));
- //进行逻辑判断
- if (strcmp(jFM, "") == 0 && strcmp(jTM, "") == 0 && strcmp(jMM, "") == 0) {
- lr_output_message("%s", "无参数");
- } else {
- lr_output_message("%s", "有参数");
- }
- //输出实际值
- lr_output_message("**********************************");
- lr_output_message("%s", jFM);
- lr_output_message("%s", jTM);
- lr_output_message("%s", jMM);
- lr_output_message("**********************************");
- //将变量值保存在另外一个参数中(其实从运行原理上说,类似于C++中的引用)
- lr_save_string(jFM, "JFreeMem");
- lr_save_string(jTM, "JTotalMem");
- lr_save_string(jMM, "JMaxMem");
- lr_output_message("**********************************");
- return 0;
- }
LoadRunner参数和变量之间的转换的更多相关文章
- php数组·的方法3-数组和变量之间的转换
/* * 数组和变量之间的转换 * */ //extract() 使用数组定义一组变量 // 键名为变量名 键值为变量值(类似于js的解构赋值) // 返回值是数组的长度 echo '<hr&g ...
- LoadRunner 参数和变量的区别(未完)
挺久没来更新了,坚持是件不容易的事呢,之后坚持每天总结下前一天的学习点 在LR中,参数是一种更高级的变量,他们能起到同样的效果,但同时也有几点不同 1. 定义方法不同 (这个还没看懂) 2. 调用语法 ...
- PHP 基础函数(三)数组和变量之间的转换
extract($arr);用于把数组中的元素转换成变量导入到当前文件中,键名当作变量名,值作为变量值注:(第二个参数很重要,可以看手册使用)使用方法 echo $a;compact(var1,var ...
- C变量之间的转换
int main(){ //定义了三个变量分别是abc ab的值分别是5跟8 c没有赋值 把b的值给c 把a的值给b 把c的值给a 形成了一个ab值得转换: int a=5; int b=8; in ...
- jsp 普通变量与jQuery变量之间的转换
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- LoadRunner中的参数与变量
在LoadRunner脚本开发中,经常会遇到参数与变量相互转换的情况,本文对常见的转换情形进行了方法总结. 1.变量的赋值 //将字符串赋值给变量 ]; strcpy(strTemp, "H ...
- LoadRunner中的参数与变量-产生20位的随机数
LoadRunner中的参数与变量-产生20位的随机数 在LoadRunner脚本开发中,经常会遇到参数与变量相互转换的情况,本文对常见的转换情形进行了方法总结. 1.变量的赋值 //将字符串赋值给变 ...
- Loadrunner中参数和变量的使用
//字符串复制strcpy(str,"Hello ") ; //字符串连接strcat(str,"World !");lr_message("str: ...
- loadrunner 参数存储在data.ws、paralist、globals.h 中区别(参数与变量额区别于使用)
1.如果变量数据只有一个值,可以直接放在data.ws 中 2.如果变量要根据循环取随机值.序列值等(参数存在一组值),放在paralist中 3.如果是申明全局变量,且要在代码中用到参 ...
- LoadRunner 如何将英文的字符串转换成UTF-8格式的字符串?
7.48 如何手动转换字符串编码 1.问题提出 如何将英文的字符串转换成UTF-8格式的字符串? 2.问题解答 可以使用lr_convert_string_encoding函数将字符串从一种编码手动 ...
随机推荐
- python学习第五周总结
面向对象前戏之人狗大战 # 编写代码简单的实现人打狗 狗咬人的小游戏(剧情需要) """推导步骤1:代码定义出人和狗""" person1 ...
- SpringBoot 三大开发工具,你都用过么?
本文已经收录到Github仓库,该仓库包含计算机基础.Java基础.多线程.JVM.数据库.Redis.Spring.Mybatis.SpringMVC.SpringBoot.分布式.微服务.设计模式 ...
- ASP.NET Core - 入口文件
1. 入口文件 一个应用程序总有一个入口文件,是应用启动代码开始执行的地方,这里往往也会涉及到应用的各种配置.当我们接触到一个新框架的时候,可以从入口文件入手,了解入口文件,能够帮助我们更好地理解 ...
- Thymeleaf中判断Security权限 - SpringBoot
参考:https://blog.csdn.net/perfect_red/article/details/110821582
- Blazor 拖放上传文件转换格式并推送到浏览器下载
前言 昨天有个小伙伴发了一个老外java编写的小工具给我,功能是转换西班牙邮局快递Coreeos express的单据格式成Amazon格式,他的需求是改一下程序为匹配转换另一个快递公司MRW格式到A ...
- 微信小程序分类菜单激活状态跟随列表滚动自动切换
这里主要用到微信小程序提供的SelectorQuery获取页面节点信息实现,组件用的是微信小程序的scroll-view 逻辑就是获取右侧盒子的节点信息,获取右侧子分类的节点信息,当子分类滑动到顶部的 ...
- ps抠图小技巧
1.背景橡皮擦工具 适合分离单一背景. 中括号键可以调整大小. 2.调整边缘抠图(也叫选择并遮住) 适合扣毛发丝. 套索工具框选出大概: 点击选择并遮住后出来一个面板: 视图选择叠加,输出设置勾上净化 ...
- [Ynoi2016] 掉进兔子洞
\(\text{Solution}\) 莫队配合 \(\text{bitset}\) 发现答案困难的部分在于同一个数在三个区间出现次数的最小值 考虑强行拆开看,用莫队处理出每个区间每个数的出现次数,这 ...
- 使用 Three.js 的 3D 制作动画场景
推荐:将 NSDT场景编辑器 加入你的3D开发工具链. 由于 GSL 语法的复杂性,对于许多开发人员来说 WebGL 是一个未知的领域.但是有了 Three.js,在浏览器中 3D 的实现变得简单.下 ...
- Java语法基础课程总结
1.运行实例EnumTest.java并分析 结论:枚举类型属于引用类型,不属于原始数据类型它的每一个具体值都引用一个特定的对象,可以使用"=="直接比较枚举变量的值,枚举是可以从 ...