Loadrunner系统知识(非常好)(3)
#include \ #include \ #include \
警告:当你使用类库中的函数却没有正确包含该类库的时候,你会收到一条错误信息:
Error -- Unresolved symbol C类库
LoadRunner 使用 1994 GNU C Pre-Processoroptions 和 1995 LCC-win32 Retargetable C Compiler/Linker from 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); Java语法:略
loadrunner学习系列---脚本编写(2)
VUser_Init部分
这里是Vuser_init部分的一些例子: 操作系统的User ID
下面显示了使用advapi32.dll的GetUserNameA函数获得的操作系统的用户ID char sUserID[1024]; // Maximum possible UserID length. long lUserIDSize = sizeof(sUserID)-1; int rc; rc=lr_load_dll(\ if( rc != 0 ){ lr_error_message(\Aborted for rc=%d\ lr_abort(); }else{ GetUserNameA(sUserID, &lUserIDSize);
11
lr_message(\ }
所有的变量声明需要一块放到最上方。在vuser_init 部分创建的本地C变量(如 int或char)对其他部分的脚本是不可见的。所以使用lr_save_string函数来创建对所有脚本可用的全局参数。例子:
char *itoa ( int value, char *str, int radix ); vuser_init(){ int x = 10; char buffer[10]; lr_save_string( itoa( x, buffer, 10) , \ lr_message ( \return 0; }
运行时设置的附加属性(Additional Attribute)
8.0版本引进了一个非常有价值的特性:在运行时设置中指定属性,这个属性可以对不同的虚拟用户组设置不同的值。
下面的代码是从运行时设置的附加属性中读取名为“usertype”的参数。然后使用参数值来对应的设置全局的\变量。
int thinktime1=0; vuser_init() {
LPCSTR strUsertype; // Define *str.
strUsertype = lr_get_attrib_string(\if (strUsertype==NULL){
12
lr_output_message(\Attribute usertype not specified. Cannot continue.\lr_abort();
}else{
lr_message(%usertype=\\\
if( strcmp( strUsertype,\== 0 ){ thinktime1=2; } else
if( strcmp( strUsertype,\0 ){ thinktime1=4; } else
if( strcmp( strUsertype,\else{
lr_error_message(\Aborting run.\lr_abort();
}
}
return 0;
}
Time Structure Fix(不知道怎么翻译,呵呵,“时间结构的解决“?) 根据知识库34195的文章,默认当前时间戳的毫秒部分不被更新,除非ftime使用的时间结构被重新定义:
typedef long time_t; struct _timeb { time_t time;
unsigned short millitm; short timezone; short dstflag; };
struct _timeb t;
_tzset(); \\\\ 使用ftime设置变量 _ftime( &t );
lr_message( \控制信息的显示:
在运行时,当脚本的事务失败后继续,你怎么知道哪个用户失败了? 在每个失败的事务之后,发出一个能够唯一确定该用户的信息。 Loadrunner提供了一些函数来在运行时显示信息:
? // 往输出日志上发送消息,这个消息前边会带有action 的名称和行数 lr_output_message(\
13
例子:
?Actions.c (4): an output message ? // 往输出日志和虚拟用户日志上发消息: ? lr_message(\
+\
);
把\放到另一行,这样可以容易的在命令上添加或者删除代码项。 在UNIX/Linux机器上,使用 \来添加一个换行。 在Windows 机器上,使用\来添加一个换行。 // 往输出日志上发送不带action名称和行数的信息 lr_log_message(\\\t\\\t\
// 只给控制器上的虚拟用户状态区域发送信息(当在VuGen中运行时,只是简单的显示):
lr_vuser_status_message(\
// 给LoadRunner控制器或者Tuning模块的控制台输出窗口显示一个红色高亮度显示的-17999 信息。
lr_error_message(\an error message\
使用lr_error_message将会使日志信息堆栈在每个新的action开始时被自动清空。如果选择了\当错误发生时才发送消息\这些信息仍然被创建在\日志信息堆栈\里, 但是被压缩了(没有显示),直到监测到一个错误。
LoadRunner学习---脚本编写(4)(比较重要)
2007-12-13 23:45:39 / 个人分类:性能测试
今天接着来翻译http://www.wilsonmar.com/中关于LoadRunner脚本编写部分,下面该翻译脚本编写中一些比较重要的部分了。 Web用户Action
在VuGen中,脚本产生的默认模式是基于HTML的--“描述用户的动作的脚本”直接与用户的动作是对应的:
14
* web_url是浏览器地址栏的URL.
* web_link是点击在和之间的文本超链接。 * web_image是点击HTML的
* web_submit_form 是在前面操作的上下文中的GET或PUT表单上点“提交”--可能前面的操作被VuGen在基于HTML模式下录制下来了。 * web_submit_data 是在GET或PUT表单上点“提交”,而没有带前面操作的上下文--可能是在基于URL模式下录制,或者是基于HTML模式,并且选择了“A scrīpt containing explicit URLs only”选项。
不用HTML产生的资源是.gif和.jpg图片。资源属性的列表只能当对这些资源的路直选项设置成“Record within the current scrīpt step”时被插入。这也是默认的设置。
如果你在“Tools > Internet Procotol > Recording”中选择“a scrīpt containing explicit URLs only”,这将会产生URL-based的脚本录制,只使用web_url和web_submit_data函数,将不会使用 web_link 和 web_image函数,或包含在 applets, XML, ActiveX或javascrīpt中的非HTML元素。 在进行下一页录制之前(如点击链接或者图标),暂停录制,把该页屏幕的标题拷贝下来粘贴到注释中。录制完成之后,这将会在后面的给事务命名上用到。 在每一个页面显示之后,暂停录制,把决定是否是期望页的文本拷贝下来,粘贴到注释中。录制完成之后,这将会用到文本验证检查点的脚本编写中。 录制中产生的各种信息都保存在RecordingLog.txt文件中,删除它不会对脚本的回放产生影响。 额外录制的Action脚本
录制脚本的时候,当浏览器没有安装SSL根证书的时候,会捕获的下面这些代码行。这个信息意思是“这个证书不能被信任证书验证”。 web_url(\
\dr/en/authrootseq.txt\ \
\ \ LAST);
15
…… 此处隐藏:1752字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介




