web_concurrent_start和web_concurrent_end的作用-转载

上一篇 / 下一篇  2015-12-18 15:11:48 / 个人分类:性能测试

在以URL-based 方式录制脚本时,出现以下web_concurrent_start(null),web_concurrent_end(null)两个函数,查了一下:

URL-based 方式将每条客户端发出的请求录制成一条语句,对LoadRunner来说,在该模式下,一条语句只建立一个到服务器的连接,LoadRunner提供了web_concurrent_start和web_concurrent_end函数模拟HTML-based的工作方式,

就是并发发出请求!
将多个请求同时发送,不加的话这些URL是排除请求

将web_concurrent_start和web_concurrent_end中间的内容一起发,我都把他当成{},内容放里面就行,表示这里面的东西是在一个并发组里

--------------------------------------------------------------

很多地方都没有把这个东西解释清楚。其实比较容易理解的。就是并发组这个概念把人说晕了。

简单的说:
这两个函数是在URL中标记一个页面请求的,注意:这里我说的是页面(page),并不是请求。
在LR请求一个页面里,由于使用URL的方式录制,会把一个页面中的元素分成几个web函数做处理。所以,LR中实现了web_concurrent_start和web_concurrent_end。实现的作用是:
从web_concurrent_start开始标记,当脚本运行到web_concurrent_start时,后续的脚本都不会立即被执行,直到web_concurrent_end出现。才把这中间的所有的脚本一起执行。
所谓并发组也是指把这一组函数一起执行起来。

如果你用 lr_start_transaction和 lr_end_transaction来替换,脚本完全可以跑通。中间的脚本是从上到下执行的,而不是一起执行的。
其他的没有作用。

语法:
 int web_concurrent_start ( [char * ConcurrentGroupName,] NULL );
参数:
 ConcurrentGroupName:可选的,并发组的标识符。
NULL:参数列表结束的标记符。
返回值
 整型。返回LR_PASS (0)表示成功,返回LR_FAIL (1)表示失败。
说明
 web_concurrent_start函数是并发组开始的标记。组中所有的函数是并发执行的。并发组的结束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。
在并发组中的函数不是立即执行的。在并发组开始时,所有的函数首先被记录下来,当并发组结束时,所有的函数并发执行。
所有的Web 用户,HTTP模式下的WAP用户持本函数。运行在Wireless Session Protocol(WSP)回放模式下的WAP虚拟用户,不支持本函数。
web_concurrent_start

 语法:
 int web_concurrent_end ( reserved );
参数:
 reserved:保留的供扩展的字段。
返回值
 整型。返回LR_PASS (0)表示成功,返回LR_FAIL (1)表示失败。
说明
 web_concurrent_end,并发组结束的标记。脚本执行时,碰到 web_concurrent_end函数时,开始并发执行所有记录的函数。
在并发组中的函数不是立即执行的。在并发组开始时,所有的函数首先被记录下来,当并发组结束时,所有的函数并发执行。
可以并发执行的函数的个数是有限制的,使用运行时设置-Netword标签页的Concurrent Connection来设置。



TAG:

 

评分:0

我来说两句

Open Toolbar