在以URL-based 方式錄製腳本時,出現以下web_concurrent_start(null),web_concurrent_end(null)兩個函數,查了一下:
URL-based 方式將每條客戶端發出的請求錄製成一條語句,對LoadRunner來說,在該模式下,一條語句只建立一個到服務器的連接,LoadRunner提供了web_concurrent_start和web_concurrent_end函數模擬HTML-based的工作方式,
就是併發發出請求! |
將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來設置。