大家都知道Rational Robot利用Delphi Enabler支持識別Delphi第三方控件和自定義控件,但是識別C++程序中遇到的第三方控件呢?我將在下邊介紹識別他的方法,希望對大家有所幫助。
SQA Object Testing Control
如果你測試軟件是vb編寫的,那么利用SQA Object Testing Control: (SQAOTE32.ocx)來獲得控件信息很對你來說很熟悉,通過它可以獲取到軟件運行時候的控件信息和方法。Robot可以根據提供的信息建立強壯的腳本,驗證那些方法或功能是否正確,也就是最后的驗證點。
如果你的c或則c++程序中包含自定義或者第三方的ActiveX(ocx)控件,你可以同樣把這個控件放到每一個包含第三方控件或者用到自定義控件的窗體上。
安裝Rational TeamTest或者Robot,Object Testing Control (SQAOTE32.ocx)會默認安裝到系統目錄system32中:C:\WINNT\system32\sqaote32.ocx.。
添加Rational ActiveX Test Control
如果想讓ActiveX Test Control起作用,需要在VC中設置ActiveX可用。以下用MFC舉例
第一. 建立工程,設置ActiveX控件可用
第二. 在有第三方控件的地方添加Rational ActiveX Test Control
有一個窗體中包含MSTreeView,運行Rational Robot利用object properties來抓取MSTreeView屬性,Rational Robot無法識別該對象(對象為UNKNOW)。添加SQA Object Testing Control(右鍵插入ActiveX控件,出現下圖窗體)。
添加Rational ActiveX Test Control后窗體上出現一個robot的圖標,你不用在代碼中做任何處理就可以使用他。SQA Object Testing Control是個不可見控件,運行軟件后他不會顯示在窗體上。
再沒有添加SQA Object Testing Control的時候Robot只能識別這個控件的通用屬性,添加后Robot可以識別自定義控件或者插件的大部分屬性。
注意
如果用到得自定義控件繼承自MFC或者用APIS實現,即使添加SQA Object Testing Control控件Robot也無法有效的工作。那么定義該對象繼承相近的類別。
方法1:運行的時候當用Object properties識別對象為unknow的時候,在出現的對話框中定義無法識別控件到相近的基類中。
方法2:打開robot,Tools->General Options,切換到object mapping頁面。選擇基類,然后添加無法是別的控件到該類中。
這樣做可以識別該控件的通用類別屬性。
總結:針對無法識別自定義和第三方控件建議添加Rational ActiveX Test Control,通過他能使Robot識別對象的大多數屬性,幫助Robot建立強壯的腳本。
文章來源于領測軟件測試網 http://www.kjueaiud.com/