url 模式录制脚本web_concurrent_start和web_concurrent_end

LoadRunner函数中文翻译系列之三--Concurrent Group
web_concurrent_start

 语法:
 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来设置。

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

简单的说:
这两个函数是在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来替换,脚本完全可以跑通。中间的脚本是从上到下执行的,而不是一起执行的。
其他的没有作用。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。