.NET中的UI自动化测试
近日,DevExpress宣布他們是首個(gè)完整支持Coded UI的第三方控件提供商。借此機(jī)會(huì),我們也談一談Coded UI,看看它在構(gòu)建全面自動(dòng)化測試套件中是如何發(fā)揮作用的。
任何Coded UI測試的核心都是UI Map。UI Map可理解為用戶行為記錄(例如,鼠標(biāo)點(diǎn)擊),它同我們?cè)谖淖痔幚砥髦袆?chuàng)建的宏非常類似。除了自身的一些步驟之外,記錄還會(huì)識(shí)別后續(xù)可以交互的用戶控件。如何是一則樣例定義:
請(qǐng)注意“搜索屬性(search properties)”對(duì)話框,它用于測試運(yùn)行器查找屏幕中的控件。你可以使用許多不同條件進(jìn)行搜索,如下圖所示:
當(dāng)用戶界面被干預(yù)導(dǎo)致測試失敗時(shí),你會(huì)發(fā)現(xiàn)可能需要手工修改搜索屬性。減少這種手工操作的一種方法是給予關(guān)鍵控件一個(gè)名字或一個(gè)AutomationId。創(chuàng)建AutomationId 原先是用于輔助功能工具,如屏幕朗讀器與語音識(shí)別系統(tǒng)。不過對(duì)于這類情況,自動(dòng)化客戶端技術(shù)也顯得非常實(shí)用。你可以查看MSDN進(jìn)一步了解自動(dòng)化與輔助功能。
UI Map還包含了構(gòu)成宏的“記錄方法”(recorded methods)。一般情況下你會(huì)在設(shè)計(jì)器窗口中看到它們,不過你也可以講它們轉(zhuǎn)成源代碼形式。要注意的是,此類轉(zhuǎn)換是單向的,轉(zhuǎn)換后沒法恢復(fù)。
?
一旦調(diào)整好記錄,你就可以著手編寫測試了。以下是一個(gè)很簡單的測試用于確保序列結(jié)尾時(shí)多選框未被選中。
如你所見,單元測試中的概念同樣適用于Coded UI測試。不過,Coded UI測試有一些額外的注意事項(xiàng)。由于測試運(yùn)行在應(yīng)用程序的單個(gè)實(shí)例上,因此每個(gè)測試的終結(jié)狀態(tài)可能會(huì)干擾接下去的測試。
Coded UI中還有一些很有效的功能用于檢查測試結(jié)果。例如,當(dāng)一個(gè)測試失敗時(shí),截屏?xí)挥涗浵聛聿⒏郊拥綔y試結(jié)果中。
目前,只有Visual Studio高級(jí)版(Premium)與旗艦版(Ultimate)可使用Coded UI。奇怪的是,Visual Studio測試專業(yè)版 2012并沒有包含Coded UI。
轉(zhuǎn)載于:https://www.cnblogs.com/shihao/archive/2012/07/08/2581210.html
總結(jié)
以上是生活随笔為你收集整理的.NET中的UI自动化测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML5 Canvans 常用API整
- 下一篇: ASP.Net Telerik RadG