3. Script變量實(shí)現(xiàn)參數(shù)化
3.1 創(chuàng)建變量
通過Script Modeler的菜單 Variables - Create 來創(chuàng)建變量,如下圖:
1、Name -- 變量名稱
2、Scope 變量范圍,非常重要的一個(gè)屬性!有以下幾種范圍:
1)Local
+ 某變量范圍設(shè)置為Local后,虛擬用戶只能在自己當(dāng)前運(yùn)行的腳本內(nèi)使用該變量,而無法使用其他用戶或其他腳本內(nèi)的該變量?赡軇傞_始不好理解,讓我們用下面的圖來表示虛擬用戶(Virtual User)、腳本(Script)、變量訪問范圍(Scope)的關(guān)系:
2)Script
+ 變量范圍設(shè)置為Script,則表示運(yùn)行時(shí)所有虛擬用戶共用同一個(gè)Script里的變量。比如4個(gè)用戶虛擬用戶一起運(yùn)行腳本A,假設(shè)腳本A中有一個(gè)設(shè)置為Script范圍的變量B,則4個(gè)虛擬用戶共用變量B,如果有人對變量B進(jìn)行修改,則會(huì)影響到其他人。如下圖:
3)Thread
+ OpenSTA 中,每個(gè)虛擬用戶是一個(gè)單獨(dú)的線程,單變量范圍設(shè)置為Thread后,則表示該變量在單個(gè)虛擬用戶的線程內(nèi)共享,很奇妙的是它定義在Script中卻能夠跨越Script共享同一變量。因此,如果要設(shè)置Thread范圍多個(gè)Script共享同一變量,必須在每個(gè)Script中定義它。通常我們會(huì)把這樣的變量定義在Global_Variables.INC文件中。這是一個(gè)全局變量文件,我們的每個(gè)腳本都會(huì)在中引用它,如:
Include "GLOBAL_VARIABLES.INC"
Thread范圍的變量范圍使用如下圖:
4)Global
+ 設(shè)置為Global的變量可想而知范圍大,即變量在所有虛擬用戶,所有腳本中共享。同樣,變量必須在每個(gè)腳本中定義或是在Global_Variables.INC中定義。如下圖: