腳本的編輯
編輯腳本,使你能夠制定切合實際的測試,提高測試的質(zhì)量。腳本編輯器中有多種編輯選項,可以幫助你制定切合實際的性能測試。
SCL 是一種簡單的腳本語言,讓你能夠控制所創(chuàng)建的腳本。對腳本進行編輯以準(zhǔn)確地模擬 Web 活動,并控制目標(biāo) WAEs 在測試運行時處于指定的負載水平。在對腳本進行編輯前,首先要對腳本的結(jié)構(gòu)和 SCL 語言有所了解。腳本被分為三個部分,你可以通過以下 SCL 關(guān)鍵字來定位:Environment,Definitions和 Code。
環(huán)境段
環(huán)境段是腳本的第一部分。以關(guān)鍵字 Environment 作為起始。前面是 Gateway 記錄的當(dāng)前的瀏覽器和創(chuàng)建日期。這部分用于定義腳本的全局屬性,包括:Description,Mode和 Wait。
清單 1. 環(huán)境段代碼示例
!Browser:IE5
!Date : 3/31/2012
Environment
Description ""
Mode HTTP
Wait UNIT MILLISECONDS
定義段
定義段以關(guān)鍵字 Definitions作為起始。它包含腳本中使用的所有定義,包括變量和常量的定義,以及定時器和文件定義的聲明。
清單 2. 定義段代碼示例
Definitions
! Standard Defines
Include "RESPONSE_CODES.INC"
Include "GLOBAL_VARIABLES.INC"
CHARACTER*512 USER_AGENT
Integer USE_PAGE_TIMERS
CHARACTER*256 MESSAGE
Timer T_TESTSCRIPT
CONSTANT DEFAULT_HEADERS = "Host: www.baidu.com" &
"Accept-Encoding: gzip. deflate"&
"User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; "&
".NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; "&
".NET CLR 3.5.30729; InfoPath.2; .NET4.0C; .NET4.0E)"
CONSTANT S_cookie_1_0 = "BAIDUID=3E588F42E284D6C6D84921872F590936:FG=1"
RESPONSE_CODES.INC 是一個 include 文件,其中包含 HTTP / S 的響應(yīng)代碼對應(yīng)的常量的定義。
GLOBAL_VARIABLES.INC 用于保存測試運行過程中虛擬用戶共享的全局和腳本范圍的變量定義。
代碼段
代碼段以關(guān)鍵字 Code作為起始,由 SCL 命令組成,用來代替已錄制的 Web 活動的命令,并定義腳本的行為。
清單 3. 代碼段代碼示例
PRIMARY GET URI "http://www.baidu.com/ HTTP/1.1" ON 1 &
HEADER DEFAULT_HEADERS &
,WITH {"Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg," &
"application/x-ms-application, application/x-ms-xbap, " &
"application/vnd.ms-xpsdocument, application/xaml+xml, "&
"application/vnd.ms-excel, application/vnd.ms-powerpoint, " &
"application/msword, */*", &
"Accept-Language: en-US,nb-NO;q=0.7,zh-CN;q=0.3", &
"Connection: Keep-Alive", &
"Cookie: "+S_cookie_1_0}
DISCONNECT FROM 1
上面的這段代碼 , 是代碼段中一次 Web 請求的 SCL 命令。其中指定了請求的地址和一些相關(guān)參數(shù)。