web_concurrent_start和web_concurrent_end的作用

在以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來設置。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章