VS 2010 测试功能学习(八) - RnP与Coded UI测试(继续篇)
題外話:CSDN博客不能上傳圖 片已經有一周多了,以前的博客內容中的圖片仍然是“圖片審核中...”狀態,沒關系,咱是中國網民,咱最大的優點就是能忍!圖片不能傳,咱繼續發文字內容 的博客。可是人家外國的Google就忍不了了,這一周要退出中國的傳言漫天飛,成了大家茶余飯后的談資。這周另一件大事就是Haiti發生了7.3級的 大地震,據說傷亡很嚴重并且還有我們的維和人員,希望救災工作能夠一切順利。
?
????? 在上一篇博客《RnP與Coded UI自動化測試》 中,介紹了Visual Studio 2010(以下簡稱為VS2010)新加入的測試用例錄制和播放功能,以一個對計算器加法功能進行測試的例子,體驗了完整的使用過程:MTLM創建測試用 例工作項 -> 錄制測試手工執行的測試步驟 -> 回放錄制結果 -> 生成C#自動測試用例 -> 將自動測試用例關聯到測試用例工作項 -> 添加驗證。這個功能確實很酷,它將測試計劃、手工測試用例和自動測試用例三者有機的結合起來,RnP工作能大大提高了測試用例的執行效率。知其然,更要知 其所以然。到目前為止俺也只是介紹了RnP和Coded UI Test (以下簡稱為 CUIT)測試的皮毛而已, 還需要繼續挖掘一下它們背后的故事。
RnP和CUIT支持的平臺/技術
????? 任何技術都不是萬能,總有它的適用范圍,有所為,有所不為。RnP和CUIT也是如此,所以在使用之前,首先必須要知道它們的使用范圍。在MSDN Visual Studio 2010 (Beta 2)的幫助頁面《Supported Configurations and Platforms for Coded UI Tests and Action Recordings》 給出了Beta 2中RnP和CUIT所支持的:操作系統、32位和64位、處理器體系結構、.NET Framework版本、語言以及具體的技術和平臺。其中,大家最關心的應該是最后一部分的技術和平臺,它決定了哪種類型的應用程序可以應用RnP和 CUIT。上面的頁面僅給出了Beta 2的支持情況,俺發現在微軟測試功能開發團隊的博客上,給出了Beta 2、RTM以及RTM之后RnP和CUIT的平臺/技術支持路線,下面這張表還是非常直觀的:
| 技術平臺 | Beta 2 | RTM | RTM+ | 注釋 |
| IE7/8 – HTML/AJAX | ? | ? | ? | ? |
| Windows Forms 2.0+ | ? | ? | ? | .NET Fx Controls fully supported, working on 3rd party support |
| WPF 3.5+ | ? | ? | ? | .NET Fx Controls fully supported, working on 3rd party support |
| SharePoint 2007 | ? | ? | ? | ? |
| Windows Win32 | ? | ? | ? | To do – Publish Known issues & Workarounds |
| MFC | ? | ? | ? | To do – Publish Known issues & Workarounds |
| FF3 – HTML/AJAX | ? | ? | ? | To do – Publish Release Plan |
| Dynamics (Ax) | ? | ? | ? | To do – Publish Release Plan |
| Silverlight | ? | ? | ? | To do – Publish Release Plan |
| Citrix/Terminal Services | ? | ? | ? | The client (MTLM or VS) need to be on remote machine |
| Office Client Apps | ? | ? | ? | ? |
| IE 6 | ? | ? | ? | Opportunity for partners to add this using the Extensibility support.? Docs and samples around extensibility are here. |
| Chrome/Opera/Safari | ? | ? | ? | |
| Flash/Java | ? | ? | ? | |
| SAP | ? | ? | ? |
圖例 :完全支持 當前部分支持還有后續工作需要完成 支持但仍存在已知問題 當前不支持但今后會考慮 不支持
?
????? 基本上覆蓋了Windows平臺上的主流開發技術,唯一的遺憾是還不支持基于Silverlight的Web應用程序的測試,相信這應該是微軟在發布了2010之后,重點應該考慮的一部分內容,因為現在Silverlight技術的應用還是非常廣泛的。
?
RnP和CUIT背后所采用的技術
????? RnP和CUIT是首次在Visual Studio中出現,其功能還是很炫很酷的,但其實背后的測試自動化實現技術對大家并不陌生,下面列出針對Web、Winfrom和WPF應用的測試技術 基礎。對每種技術的支持采用的是插件(Plugin)的形式實現的,VS 2010包括了如下的三種插件:
????? 如果你所開發的應用程序當前還不被支持,也不用著急,微軟在VS 2010中還提供了開發你自己的Plugin的機制,纖細的內容可以參見Gautam Goenka的博客《Series on Coded UI Test Extensibility》。 雖然是屬于高級話題了,但是對于那些想要對CUIT有深入了解和使用測試人員來說,這應該是必讀的一篇博客內容。之所以這樣說,源自我的切身體會。我在一 開始使用CUIT的時候并沒有注意這個話題,隨著使用的深入發現有越來越多新問題產生,使我迫切地想知道RnP和CUIT是如何構架。特別是我也遇到了《Configure search properties used by recorder/code generation 》中提到的“錄制所產生的無法用來定位空間的動態控件名問題”(Name of the certain control is dynamic and not to use it to identify the control.)。Visual Studio 2010并沒有提供Built-in的解決方案,如果再要是不了解CUIT的Extensibility機制,那是無法解決這個問題的。還有其它一些類似 問題,但是建議你在使用了一段CUIT后再來Extensiblity,否則只會是看的一頭霧水,呵呵,真的!
?
????? Apart from this,產品良好的可擴展性也我喜歡微軟的技術的一個重要原因之一,有了擴展技術,為第三方廠商或者愛好者提供了途徑來填補這部分空白,也是很好的商機,也許這就是建立Eco-system的一種途徑吧,呵呵!?
??????Visual Studio中的RnP和CUIT功能還是比較新的內容,除了看微軟發布的VS 2010的MSDN文檔,去看VSTT團隊和成員的博客是非常不錯的資料來源。此外,去 Coded UI Test forum論壇直接提問題,可以更直接地得到相關產品部門的支持和解惑。
?
?
?
參考資料
轉載于:https://www.cnblogs.com/vmyspace/archive/2012/03/05/2380010.html
總結
以上是生活随笔為你收集整理的VS 2010 测试功能学习(八) - RnP与Coded UI测试(继续篇)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Visual Studio 2010 U
- 下一篇: 分段函数 左右 f'正 不等于f'负 则