關於UI自動化技術及測試的一些看法

ecioforum發表於2011-04-14

本篇文章版權由ECFHP所有

作者:何康鑫 

大家知道,針對UI的自動化技術一般要支援以下所列內容:
  1. 識別視窗
  能夠識別儘量多的視窗種類,支援儘量多的UI技術。比如Win32、WinForm、WPF以及WebPage的控制元件型別。
  2. 操作視窗
  對標準型別的控制元件方法的支援,比如按下按鈕,在Listview中選擇Item等。
  3. 驗證結果
  實質就是能夠拿到控制元件的狀態以及控制元件相關的資訊。
  4. 錯誤恢復
  這個其實屬於自動化測試框架的問題,能從錯誤的狀態恢復,並繼續執行。當然寫測試用例的時候,也要保證測試用例的獨立性。
  5. 同步
  同步在UI的自動化測試中最複雜的部分了,這個地方的工作決定了自動化指令碼能否穩定的執行在在各種不同平臺,不同配置的測試機上。
  相關的測試工具有很多,比如WinRunner、QuickTest、Silktest等。

        我們拋開各種各樣的工具本身,來看UI自動化的本質,它所用到的技術可以概括為下面三種:
  1. Windows API
  相關的API,FindWindow, EnumWindow,GetWindowRect, GetWindowText, SendMessage等。
  2. MSAA
  MSAA是微軟針對視力有障礙的人所提供的一個基於COM的API介面,開發人員可以利用這個技術來開發類似螢幕放大,螢幕閱讀,以及語音控制等。現在很多自動化的工具除了利用window api以外,大部分也支援MSAA技術
  3. UIAutomation
  測試在各個軟體公司中的地位日趨上升。隨著WPF技術的釋出,以往的Windows API以及MSAA技術,對WPF控制元件的操作能力急劇下降,甚至無法操作WPF控制元件,微軟由此針對自動化測試進行了重新的設計,整合在.Net Framework3.0中釋出,這個升級版就是UIAutomation的類庫。而HP QTP11對WPF也實現了全面支援,專門增加了相關的外掛。

        因此,在進行UI相關自動化測試的時候,採用合適的測試工具往往能起到事半功倍的效果。而QTP在相關的功能測試這塊兒是個不錯的選擇。

本篇文章版權由ECFHP所有

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25389417/viewspace-692524/,如需轉載,請註明出處,否則將追究法律責任。

相關文章