SilkTest天龍八部系列5-類(lèi)的屬性 軟件測試
SilkTest的面向對象機制讓用戶(hù)可以為類(lèi)定義屬性,用property語(yǔ)句實(shí)現。除此以外用戶(hù)在類(lèi)中還可以定義成員變量和不可變的setting屬性。也就是是說(shuō)Silktest類(lèi)中可以有以下三種屬性/變量被使用到:
屬性(用property申明)
成員變量
屬性(用setting聲明)
用property語(yǔ)句定義的屬性可以讓用戶(hù)方便地使用=號來(lái)設置和獲取類(lèi)的某些屬性,這里的屬性是指邏輯上的一些屬性,用來(lái)表現類(lèi)的某些特征,這些特征可能是動(dòng)態(tài)變化的。例如在某個(gè)時(shí)間點(diǎn),一個(gè)控件所包含的子控件個(gè)數(我們可以通過(guò)一個(gè)循環(huán)來(lái)遍歷該控件來(lái)得到子控件的個(gè)數)又或者是一個(gè)頁(yè)面上當前得到焦點(diǎn)的控件名等等。
成員變量一般作為類(lèi)的計算元素,或者是中間結果持有者,一般不用來(lái)直接表示復雜的邏輯內容。
至于setting屬性可以對類(lèi)的一些系統屬性進(jìn)行控制,例如,一個(gè)類(lèi)是否繼承使用父類(lèi)的tag,又或者是使用哪些父類(lèi)的tag.
值得注意的是property的聲明是通過(guò)set和get兩個(gè)函數實(shí)現的,所謂的邏輯也是在這兩個(gè)函數中實(shí)現的。其中set只能有一個(gè)參數并且返回值是void,而get不能有參數,但是必須有返回值。set和get至少有一個(gè)要出現在property的聲明中。
另外setting的限制是只能在類(lèi)中賦值,并且是不可更改的。
下面是一個(gè)可以運行的例子: 最后一行的注釋打開(kāi)后會(huì )導致無(wú)法運行
view plaincopy to clipboardprint?
01.[-] winclass DemoDialog
02. [ ] Integer iZ = 30
03. [-] property iZPos
04. [-] void Set(integer i)
05. [ ] iZ = i
06. [-] integer Get()
07. [ ] return iZ
08. [ ] setting iXPos = 10
09. [ ] setting iYPos = 20
10.[ ]
11.[ ] window DemoDialog dd
12.[ ]
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/