大家都知道,針對(duì)UI的自動(dòng)化技術(shù)一般要支持下列的東西:
1. 識(shí)別窗口
?? 能夠識(shí)別盡量多的窗口種類,支持盡量多的UI技術(shù)。比如Win32、WinForm、WPF以及WebPage(這個(gè)比較特殊,確切的說(shuō)不能叫控件)的控件類型
2. 操作窗口
對(duì)標(biāo)準(zhǔn)類型的控件方法的支持,比如按下按鈕,在Listview中選擇Item等
3. 驗(yàn)證結(jié)果
實(shí)質(zhì)就是能夠拿到控件的狀態(tài)以及控件相關(guān)的信息
4. 錯(cuò)誤恢復(fù)
這個(gè)其實(shí)屬于自動(dòng)化測(cè)試框架的問(wèn)題,能從錯(cuò)誤的狀態(tài)恢復(fù),并繼續(xù)執(zhí)行。當(dāng)然寫Testcaes的時(shí)候,也要保證Testcase的獨(dú)立性
5. 同步
同步在UI的自動(dòng)化測(cè)試中最復(fù)雜的部分了,這個(gè)地方的工作決定了自動(dòng)化腳本能否穩(wěn)定的運(yùn)行在在各種不同平臺(tái),不同配置的測(cè)試機(jī)上
雖然測(cè)試工具有很多,比如WinRunner、QuickTest等,我比較熟悉的只是Silktest,所以我說(shuō)的很多東西都會(huì)跟Silktest來(lái)比較
我們拋開(kāi)各種各樣的工具本身,來(lái)看UI自動(dòng)化的本質(zhì),它所用到的技術(shù)無(wú)非是下面三種:
1. Windows API
相關(guān)的API,F(xiàn)indWindow, EnumWindow,GetWindowRect, GetWindowText, SendMessage等
2. MSAA
MSAA是微軟針對(duì)視力有障礙的人所提供的一個(gè)基于COM的API接口,開(kāi)發(fā)人員可以利用這個(gè)技術(shù)來(lái)開(kāi)發(fā)類似屏幕放大,屏幕閱讀,以及語(yǔ)音控制等。現(xiàn)在很多自動(dòng)化的工具除了利用window api以外,大部分也支持MSAA技術(shù)
相關(guān)Link:
http://msdn2.microsoft.com/en-us/library/ms971350.aspx
http://en.wikipedia.org/wiki/Microsoft_Active_Accessibility
3. UIAutomation
測(cè)試在各個(gè)軟件公司中的地位日趨上升,而且微軟自己在對(duì)測(cè)試的重視程度以及利用自動(dòng)化測(cè)試方面也一直走在各個(gè)公司前面。隨著
WPF
技術(shù)的發(fā)布,以往的Window API以及MSAA技術(shù),對(duì)WPF控件的操作能力急劇下降,甚至無(wú)法操作WPF控件,而微軟也為了增加對(duì)自動(dòng)化測(cè)試的支持,發(fā)布了MSAA的升級(jí)版,并針對(duì)自動(dòng)化測(cè)試進(jìn)行了重新的設(shè)計(jì),集成在.Net Framework3.0中發(fā)布,這個(gè)升級(jí)版就是UIAutomation的類庫(kù)。
相關(guān)鏈接:
http://en.wikipedia.org/wiki/Microsoft_UI_Automation
http://msdn2.microsoft.com/en-us/library/ms747327.aspx
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
