TestStack.White (三) – 與 UI Automation 的比較

Windows Auto Testing Framework 有很多種,在簡單瞭解 TestStack.White 的用法之後,我們可以比較一下原生的 UI Automation 和 透過包裝 UI Automation 而生的 TestStack.White 有何不同,進而評估哪一個 Framework 比較適合我們使用:

UI Automation TestStack.White
控制元件的步驟 1. 給予搜尋條件得到元件
2. 透過元件取到其相對應的 Pattern
3. 透過 Pattern 來控制元件做動作
1. 給予搜尋條件得到元件
2. 控制元件做動作
寫法 較複雜一點 較簡易
來源 官方 第三方
風險 1. 控制元件的步驟較多,程式碼不易閱讀
→ 解法:將重複的篩選動作抽出來,抽象化程式碼
1. 可能無法使用一些在 Windows 7, 8 新加入的 automation patterns
→ 解法:可能得混用 UI Automation

2. 沒有立即跟著官方 UI Automation 最新版更新,可能出現使用 White function 跟實際最新的模組對不上
→ 遇到了可能得先 debug 再混用 UI Automation 解決

3. 若測試程式是掛在 UI Automation 裡面,如果出錯了,也不容易 debug
→ 遇到了須先釐清是 White 的問題還是 UI Automation 的問題

簡單比較 Windows 原生的 UI Automation 和透過包裝 UI Automation 而生的 TestStack.White,雖然 TestStack.White 寫起來比較簡單,但還是有其風險。

如果真的遇到 TestStack.White 模組對不上的問題,得先 debug,才能釐清是受測程式的問題,或者是我們的 Testing Framework 本身的問題。

而雖然 UI Automation 取得元件的步驟較麻煩,但它都有固定的形式,可以遵循它的規則,抽取出 Utility Functions 來使用,也可以讓 test code 變得簡單易讀,這一點我們是有信心的。
在此我們初步評估 Windows 原生的 UI Automation 是比較適合我們的。

參考資料
1. TestStack.White Source Code
2. TestStack.White Change Log
3. TestStack.White FAQ
4. Microsoft UI Automation Wiki
5. Microsoft UI Automation in MSDN

廣告

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s