LoadRunner脚本语言之C语言

LoadRunner脚本语言之C语言

Loadrunner几乎支持所有主流语言,比如C语言,JAVA,VB等。Web(HTTP/HTML)协议默认使用的是C语言。

Loadrunner 脚本语言架构

Loadrunner的脚本主要由Action组成。Action包含3个独立的函数:vuser_init()、action()、vuser_end()。我们通常把用户操作根据类型存放在不同的函数中。


函数


函数描述


Vuser_init()


一般将用户初始化的操作放在这里,例如登陆、分配内存


Action()


是虚拟用户要做的业务,是测试内容的主题


Vuser_end()


与vuser_init()相对应,做清理操作,如分配内存的回收等等。

Loadrunner中的C语言

Loadrunner中的C编译器遵循C90标准,规定在一个函数中,变量定义必须放在所有的执行语句之前。

用于运行 Vuser 脚本C解释器仅支持 ANSI C 语言。它不支持Microsoft 对 ANSI C 的任何扩展。

LoadRunner提供了功能强大的API集合,足够应付大多数性能测试的需求。但在某些情况下,这些API仍然有覆盖不到的地方。这种情况下,我们可以用加载DLL的方式来实现。

例如:

lr_load_dll("something.dll");

Somefunction();

LoadRunner中的C Vuser函数

命令行解析函数


函数


函数描述


lr_get_attrib_double


检索脚本命令行中使用的 double 类型变量。


lr_get_attrib_long


检索脚本命令行中使用的 long 类型变量。


lr_get_attrib_string


检索脚本命令行中使用的字符串。

获取信息


函数


函数描述


lr_user_data_point


录制用户定义的数据示例。


lr_whoami


将有关 Vuser 的信息返回给 Vuser 脚本。不适用于应用程序管理。


lr_get_host_name


返回执行 Vuser 脚本的主机名。


lr_get_master_host_name


返回运行 LoadRunner Controller 或优化控制台的计算机的名称。不适用于应用程序管理。

事务函数


函数


函数描述


lr_end_sub_transaction


标记子事务的结束以便进行性能分析。


lr_end_transaction


标记事务的结束。


lr_end_transaction_instance


标记事务实例的结束以便进行性能分析。


lr_fail_trans_with_error


将打开事务的状态设置为 LR_FAIL 并发送错误消息。


lr_get_trans_instance_duration


获取事务实例的持续时间(由它的句柄指定)。


lr_get_trans_instance_wasted_time


获取事务实例浪费的时间(由它的句柄指定)。


lr_get_transaction_duration


获取事务的持续时间(按事务的名称)。


lr_get_transaction_think_time


获取事务的思考时间(按事务的名称)。


lr_get_transaction_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


消除所有打开事务浪费的时间。

字符串函数


函数


函数描述


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_ext_free


释放由 lr_eval_string_ext 分配的指针。


lr_save_searched_string


在缓冲区中搜索字符串实例,并相对于该字符串实例,将该缓冲区的一部分保存到参数中。

消息函数


函数


函数描述


lr_debug_message


向输出窗口或业务流程监控器日志文件发送调试消息。


lr_error_message


向输出窗口或业务流程监控器日志文件发送错误消息。


lr_get_debug_message


检索当前消息类。


lr_log_message


将消息发送到日志文件。


lr_output_message


向输出窗口或业务流程监控器日志文件发送消息。


lr_set_debug_message


设置调试消息类。


lr_vuser_status_message


生成带格式的输出,并将其打印到 Controller 或控制台 Vuser 状态区域。不适用于应用程序管理。


lr_message


向 Vuser 日志和输出窗口或业务流程监控器日志文件发送消息。

运行时函数


函数


函数描述


lr_load_dll


加载外部 DLL。


lr_peek_events


指示可以暂停 Vuser 脚本的位置。


lr_think_time


暂停脚本的执行,以模拟思考时间(实际用户在操作之间暂停以进行思考的时间)。


lr_continue_on_error


指定处理错误的方法。


lr_rendezvous


在 Vuser 脚本中设置集合点。不适用于应用程序管理。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-29 08:31:29

LoadRunner脚本语言之C语言的相关文章

编译性语言、解释性语言和脚本语言

1.计算机不能直接理解高级语言,只能理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序.(计算机只能执行机器语言:我们要执行高级语言编的代码,就只能用编译器把它变成机器语言) 2.翻译有两种方式:a.编译b.解释.两种方式主要是翻译的时间不同 3.编译语言:编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成机器语言文件:比如,exe文件,以后运行的话就不用重新编译了,直接使用编译的结果就行了:因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序

脚本语言与静态语言共存

一: 最近学了一个clojure,挺好的,这就让我想到一个问题,Java语言老是被说差,差在哪里呢? 是啊,用了会clojure,我也感觉Java这个语言挺麻烦的,到处都是模式,很死板的感觉,但是这种死板让项目始终是有不错的工程结构等. 从目录结构到语法,都是死死的感觉,但是这种死死的可以让IDE很容易的静态解析,能在你没有运行代码之前就帮你发现大多数潜在的问题. 我自己也想过,如果用纯脚本语言来写一个大项目,会不会后期很烂呢?没有静态解析的话改一个地方,其他哪些受影响都不知道. 几行perl代

LoadRunner脚本编写(转)

性能测试工程师要懂代码么?答案是必须的.好多测试员认为在loadrunner中编写脚本很难很牛X ,主要是大多测试人员并未做过开发工作,大学的那点程序基础也忘记的差不多了.还有非计算机专业出身的测试员,所以对代码望都比较望而生畏. 好多人认为loadrunner只支持C语言(包括我之前也一直这么认为),因为loadrunner默认的脚本是C语言的,其实它支持目前所有主流的语言,如:Java User.VB User.VB script User .Javascript User.Mmicroso

loadrunner 脚本中文乱码

loadrunner 脚本中文乱码 1.新建脚本--->选择协议(Http)-->选项-->高级-->选择“支持字符集”并点选“UTF-8”: 2.在回放脚本之前:Vuser-->运行时设置-->浏览器-->浏览器仿真-->更改-->使用浏览器-->语言下来选择 “chinese(RPC)”:

LoadRunner脚本编写之二

编程基本语法必须要记牢.程序的思想也很重要. 下面来回顾一下嵌套循环例子. Action() {     int  i,j;   //生命两个变量     for (i=1;i<=5;i++)   //第一重循环,循环5次     {         if (i==3)                break;   //当i等于3时,跳出本重循环         else              lr_output_message("i=%d",i);  //否则,输入i的值

LoadRunner脚本篇

1   概述 脚本录制编写是性能测试的一个重要环节.在性能测试过程中,虚拟用户模拟真实用户使用被测系统,这个“模拟”的过程正是通过性能测试脚本来实现的.因此,编写一个准确无误的脚本对性能测试有至关重要的意义.完成性能测试脚本包括两个步骤:脚本录制和脚本编写,本文重点关注脚本编写. 2   脚本录制 2.1.录制方式 HTTP协议脚本录制可选两种方式:基于HTML和基于URL.选择哪种录制方式的原则如下:基于浏览器的HTTP应用系统选择HTML,基于其他方式的HTTP应用系统选择URL. 2.2.

LoadRunner脚本 《第二篇》

一.基础函数简介 在VU左边导航栏中,有三个LoadRunner框架函数,分别是vuser_init().Action().vuser_end().这三个函数存在于任何Vuser类型的脚本中. vuser_init:虚拟用户的初始化函数,一般将用户初始化的操作放在这里,如登录操作.分配内存等.在做uvser_init的时候,Controller的Vuser状态区域会显示initialize状态(只运行一次). Action:虚拟用户要做的业务,用户的业务操作,也就是测试内容的主体.在VU里设置迭

Loadrunner脚本编程(4)-数据类型操作和字符串操作

http://www.360doc.com/content/10/0806/13/1698198_44078277.shtml 一,数据类型转换 没有使用过C编程的LoadRunner脚本编写者会发现在数据类型转化方面比较困难.下面介绍这方面的知识. 1.  相似函数的输出在不同的位置 象很多C函数一样,使用atoi函数的结果即为返回值 如intResult = atoi( charY ); 而:itoa的返回结果为第二个参数. itoa( intX, charY, 10); 第一个参数是需要转

Loadrunner脚本读取 XMl 文件

Loadrunner脚本读取 XMl 文件 性能测试工程师要懂代码么?答案是必须的,好多测试员认为在 loadrunner 中编写脚本很难很牛 X . 好多人认为 loadrunner 只支持 C 语言(包括我之前也一直这么认为),因为 loadrunner 默认的脚本是 C 语言的,其实它支持目前所有主流的语言,如: Java User . VB User . VB script User  . Javascript User . Mmicrosoft .NET 等,总有一款适合你的吧,最起码