url 模式录制脚本web_concurrent_start和web_concurrent_end是起到什么作用(转)

2013-03-22  张丽丽 

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_urlweb_submit_dataweb_custom_requestweb_create_html_paramweb_create_html_param_exweb_reg_save_paramweb_add_header
在并发组中的函数不是立即执行的。在并发组开始时,所有的函数首先被记录下来,当并发组结束时,所有的函数并发执行。 
所有的Web 用户,HTTP模式下的WAP用户持本函数。运行在Wireless Session ProtocolWSP)回放模式下的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_startweb_concurrent_end。实现的作用是:
web_concurrent_start开始标记,当脚本运行到web_concurrent_start时,后续的脚本都不会立即被执行,直到web_concurrent_end出现。才把这中间的所有的脚本一起执行。
所谓并发组也是指把这一组函数一起执行起来。

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

 本文纯属转载,只为学习!

379°/3798 人阅读/0 条评论 发表评论

登录 后发表评论