Windows Phone 8 測試自動化初探 (利用Coded UI)

來源:互聯網
上載者:User

標籤:windows   windows phone 8   自動化測試   測試   自動化   

前言

Windows Phone是個相對新的的平台,目前應用的數量少,相同應用的功能實現度也不如iOS和Android. 那麼在Windows Phone上面的自動化測試的解決方案有什嗎?

目前就msdn來看,SeeTest是微軟推薦的測試方案。

大家知道微軟在VS裡面整合了自動化測試載入器Coded UI,那麼Coded UI除了能測Windows, Web應用,它能不能支援Windows Phone應用呢?


利用Coded UI做Win Phone自動化的過程


利用Coded UI是可以做Windows Phone的自動化測試的,但是支援的不是很好,大概說一下流程

1. 首先需要一個真的Windows Phone或Windows Phone模擬器

(Windows Phone模擬器需要電腦支援一些硬體需求,貌似是基於Hyper-V技術,不要指望在虛擬機器(vSphere, XenServer)裡面能類比,不過VMware workstation好像是可以的)


2. 需要VS 2013 + update 2,裝的時候注意要選Windows Phone 8的SDK


3. 裝好了之後,建一個Coded UI測試工程


4. 編寫測試的代碼

    我寫了一個很小的Windows Phone程式,這個程式的UI是基於XamL的。

     

    下面就談談幾個步驟


     a. 啟動應用

這一步就非常巧妙,和Android和iOS啟動應用完全不同,啟動應用需要得到應用的AutomationID,然後啟動。

開啟Coded UI的錄製介面,然後把滑鼠移動到被測Windows Phone應用後,鍵盤使用快速鍵 Ctrl+Shift+I,就可以獲得當前控制項的AutomationID 

(注意中虛化的那個視窗)

使用下面的Code開啟特定應用

        

String Myapp = "{F0915983-7002-4079-A128-81323EFAA57A}:App:f0915983-7002-4079-a128-81323efaa57a_rkdnfethpsswy!App";            XamlWindow.Launch(Myapp);

     b. 識別控制項

Coded UI不支援Windows Phone應用的錄製,這點是比較頭疼的,目前我採用的辦法是這樣。

     b.1  按照 <a.啟動應用> 的辦法,利用快速鍵Ctrl+Shift+I查看控制項的屬性。

     b.2   對控制項加入一個Assertion

    

    b.3 加入了Assertion之後,Coded UI就會把這個控制項識別下來,在Coded UI的編輯介面就可以看到這個控制項,(注意,如果你只是識別這個控制項而不加Assertion,控制項是             不會記錄下來的)


    然後就簡單了,先選擇控制項,然後按快速鍵Ctrl + C,控制項的代碼就拷貝下來了(例如 UIMap.UIWpappWindow.UIAEdit),下面就要看怎麼操縱了

    

     c. 操縱控制項

     目前研究出兩個方法,一個是點擊,另外一個是輸入

c.1 點擊 

利用以下代碼,括弧裡面是控制項的例子

Gesture.Tap(UIMap.UIWpappWindow.UIPlusButton);

c.2  輸入

利用一下的代碼,控制項.Text = "賦值"

UIMap.UIWpappWindow.UIBEdit.Text = "200";

類Microsoft.VisualStudio.TestTools.UITesting.Gesture,裡面還有其他的方法,大家可以仔細揣摩。


     d. 檢查結果

    這個和Coded UI的傳統操作差不多,就是利用Assertion,這裡就不多說了


     e. 其他主意事項

  e.1 目前Coded UI只支援基於Xaml的Win Phone應用,如果你看到了以下的,請不要大驚小怪

個人認為估計目前Image Recognition才是擴充Win Phone自動化測試的唯一途徑。



小結

利用Coded UI做Win Phone應用的自動化,目前並不是很成熟,它也缺乏iOS和Android的開源界的鼎力支援,其實也算尷尬。個人還是支援Win Phone應用的發展的,希望其以後能越來越強大,讓測試人員在行動裝置 App測試上有更多職業機會。





相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.