《軟體自動化測試成功之道》節選6 - 自定義控制元件的測試方法

TIB發表於2010-05-05

《軟體自動化測試成功之道》節選6 - 自定義控制元件的測試方法

http://www.china-pub.com/196509

 

 

 

NavigateBar控制元件類似如圖5.1所示的控制元件,類似於前面章節講到的第三方控制元件XtraNavBar。但是程式設計師對這個控制元件進行了再次的封裝,因此是一個自定義的控制元件。

 

 

NavigateBar是構成該系統主介面的重要控制元件之一,如果該控制元件在自動化測試方面提供的介面、可測試性不夠充分的話,將極大地影響自動化測試的開展。因此,我們在自動化測試開發的早期就找了程式設計師,要來這個控制元件,仔細研究它的各種測試介面和可利用的屬性。

我們發現錄製的指令碼如下所示:

w2 := w1.WinFormsobject(‘pnlMain’).WinFormsObject(‘NavigateBar’,’’,3);

w2.WinFormsObject(‘NavigateBarButton’,’’,4).Click(61,20);

w2.WinFormsObject(‘NavigateBarButton’,’’,5).Click(60,21);

w2.WinFormsObject(‘NavigateBarButton’,’’,6).Click(63,16);

實際上,點選方法後面的座標資訊是可以去掉的,可修改成:

w2 := w1.WinFormsobject(‘pnlMain’).WinFormsObject(‘NavigateBar’,’’,3);

w2.WinFormsObject(‘NavigateBarButton’,’’,4).Click();

w2.WinFormsObject(‘NavigateBarButton’,’’,5).Click();

w2.WinFormsObject(‘NavigateBarButton’,’’,6).Click();

通過研究,我們發現還可以採用下面的方法,其好處是:即使NavigateBarButton當前是隱藏的,也可以啟用並展示出來:

w2 := w1.WinFormsobject(‘pnlMain’).WinFormsObject(‘NavigateBar’,’’,3);

w2.SelectedButton := w2.WinFormsObject(‘NavigateBarButton’,’’,4);

w2.SelectedButton := w2.WinFormsObject(‘NavigateBarButton’,’’,5);

w2.SelectedButton := w2.WinFormsObject(‘NavigateBarButton’,’’,6);

其方法是把NavigateBar控制元件中表示當前處於啟用狀態的組的屬性SelectedButton,賦值為某個NavigateBarButton。上面的指令碼還可以封裝成一個公用的函式,傳入需要選擇的項,例如“基礎資料”,然後該函式負責把該項啟用並展現出來:

For I:=0 to w2. NavigateBarButtons.Count -1 do

Begin

         If VarToStr(w2. NavigateBarButtons.Item[I].Caption) = ‘基礎資料’ then

         Begin

                   w2.SelectedButton := w2. NavigateBarButtons.Item[I];

         End;

End;

注意:VarToStr 很重要,否則如果直接用w2. NavigateBarButtons.Item[I].Caption = ‘基礎資料,則永遠返回False

 

 

 

 

 

《軟體自動化測試成功之道》節選6 - 自定義控制元件的測試方法

http://www.china-pub.com/196509

 

 

相關文章