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函数将字符串从一种编码手动 ...
随机推荐
- c++标准库string的使用完美总结——十分详细,复习学习记忆都可以使用
std::string详解 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足 ...
- rt-thread模糊到清晰系列: thread切换相关
// 创建thread tid = rt_thread_create("main", main_thread_entry, RT_NULL, RT_MAIN_THREAD_STAC ...
- Archiver Appliance bug report(问题已解决,见文末)
本来想发到EPICS mailist里问的,可是发了两次给弹回来,不方便的等不及了,就在这问吧,谁知道怎么解决麻烦一定指导一下. ########################## Hi ALL: ...
- flutter系列之:在flutter中使用导航Navigator
目录 简介 flutter中的Navigator Navigator的使用 总结 简介 一个APP如果没有页面跳转那么是没有灵魂的,页面跳转的一个常用说法就是Navigator,flutter作为一个 ...
- Docker全方位攻略与自动化运维
介绍 Docker Registry(Docker注册中心)是一个管理Docker容器镜像存储和交付的应用程序.注册中心集中容器镜像并减少开发人员的构建时间.Docker镜像通过虚拟化保证相同的运行环 ...
- Ansible 快速入门到放弃
Ansible 快速入门到放弃 最是人间留不住,朱颜辞镜花辞树. 1-Ansible 简介 Ansible是一个配置管理和配置工具,它使用SSH 连接到服务器并运行配置好的任务,服务器上只需要开启ss ...
- Hbase一:Hbase介绍及特点
转载请注明出处: 1.Google的三篇论文 2003年,Google发布Google File System论文,(GFS)这是一个可扩展的分布 式文件系统,用于大型的.分布式的.对大量数据进行访问 ...
- Shell命令-常用操作
Shell基础 1 Shell命令的基本格式 基本格式 command [选项] [参数] []表示可选的,也就是可有可无.有些命令不写选项和参数也能执行,有些命令在必要的时候可以附带选项和参数. 短 ...
- CCRD_TOC_2008年第9和第10期
中信国健临床通讯 2008年第9.第10期合刊 目 录 类风湿关节炎 1. 关于RA临床缓解与关节持续破坏相分离现象的一种解释 Brown AK, et al. Arthritis Rheum. ...
- LeetCode-2039 网络空闲的时刻
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/the-time-when-the-network-becomes-idle 题目描述 给你一个有 ...