LoadRunner FAQ
web_concurrent_start和web_concurrent_end
web_concurrent_start
语法:
int web_concurrent_start ( [char * ConcurrentGroupName,]NULL );
参数:
ConcurrentGroupName:可选的,并发组的标识符。
NULL:参数列表结束的标记符。
返回值:
整型,返回LR_PASS (0)表示成功,返回LR_FAIL(1)表示失败。
web_concurrent_end
语法:
int web_concurrent_end ( reserved );
参数:
reserved:保留的供扩展的字段。
返回值
整型。返回LR_PASS (0)表示成功,返回LR_FAIL(1)表示失败。
说明
web_concurrent_start函数是并发组开始的标记。web_concurrent_end,并发组结束的标记。在并发组中的函数不是立即执行的。在并发组开始时,所有的函数首先被记录下来,当并发组结束时,所有的函数并发执行。脚本执行时,碰到 web_concurrent_end函数时,开始并发执行所有记录的函数。
在并发组中,可以包含的函数有:web_url、web_submit_data、web_custom_request、web_create_html_param、web_create_html_param_ex、web_reg_save_param、web_add_header。
URL-based 方式将每条客户端发出的请求录制成一条语句,对LoadRunner来说,在该模式下,一条语句只建立一个到服务器的连接,LoadRunner提供了web_concurrent_start和web_concurrent_end函数模拟HTML-based的工作方式
LoadRunner变量
Loadrunner变量分为局部变量和全局变量。
1. 如何定义变量
在Loadrunner脚本中变量必须在开头声明。比如说,在vuser_init、Action、vuser_end定义变量,必须现在最顶端生命,后面才能使用。如果不这样,编译器是通不过的。
2. 局部变量
就像C语言一样,变量有作用域范围,局部变量包含在函数或者vuser_init、Action、vuser_end内部,对于其他范围之外就不起作用了。
3. 全局变量
若要跨越vuser_init、Action、vuser_end定义变量,则需要定义全局变量。在Loadrunner的脚本录制时,会生成一个globals.h文件,在这里定义的变量相当于Loadrunner脚本的全局变量,可以在vuser_init、Action、vuser_end中被使用。例子:
#ifndef _GLOBALS_H #define _GLOBALS_H //------------------------------------------------------------------- // Include Files #include "lrun.h" #include "web_api.h" #include "lrw_custom_body.h" //定义全局变量char * str="This is a test"; //------------------------------------------------------------------- // Global Variables#endif // _GLOBALS_H |