天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

VS2010測試功能之旅:編碼的UI測試(1)

  前言

  研究VS2010的自動化測試有一段時間了,在研究的過程中,發(fā)現(xiàn)網(wǎng)上的VS2010相關(guān)的測試資料十分稀少,這給學(xué)習(xí)帶來比較大的困難。幸運的是,自己因為常用QuickTest Professional做自動化測試,并且對.NET代碼比較了解,使得在學(xué)習(xí)的過程中并不是特別困難,對UI CODED TEST也已經(jīng)有一定了解。本著與大家交流,共同進步的想法,思考之后,決定寫這些隨筆,來對VS2010的測試功能做一些探索和總結(jié)。希望大家能夠多多指教!

  自動化測試 

  自動化測試指軟件測試的自動化,軟件測試就是在預(yù)設(shè)條件下運行系統(tǒng)或應(yīng)用程序,評估運行結(jié)果,預(yù)先條件應(yīng)包括正常條件和異常條件。

  自動化測試是把以人為驅(qū)動的測試行為轉(zhuǎn)化為機器執(zhí)行的一種過程。通常,在設(shè)計了測試用例并通過評審之后,由測試人員根據(jù)測試用例中描述的規(guī)程一步步執(zhí)行測試,得到實際結(jié)果與期望結(jié)果的比較。在此過程中,為了節(jié)省人力、時間或硬件資源,提高測試效率,便引入了自動化測試的概念。

  VS2010編碼的UI測試,屬于自動化測試中的一種,它可測試應(yīng)用程序的用戶界面是否功能正常。 編碼的 UI 測試對應(yīng)用程序的用戶界面控件執(zhí)行操作,并驗證是否以正確的值顯示了正確的控件。

  一個簡單的示例 

  在上面對于自動化測試的介紹中已經(jīng)提到,編碼的UI測試將對應(yīng)用程序的用戶界面進行操作之后進行驗證,對于界面的操作,我們需要預(yù)先錄制或者直接編寫(日后會介紹直接編寫的方式),在這個簡單的實例中,我們將先使用錄制進行操作,錄制完畢之后,使用回放功能進行回放(類似于錄音機,錄制之后再播放)。

  一.新建測試項目

  1、首先打開VS2010,選擇測試à新建測試:

  2、選擇編碼的UI測試,簡歷一個UI測試,名稱為CodedUITest1.cs:

  3、創(chuàng)建完成,我們可以看到創(chuàng)建之后,項目的目錄結(jié)構(gòu)如下:

  下面做一個簡單的介紹:

  Solution Items:存放該解決方案中各個測試項目公用的設(shè)置。

  Local.testsetings文件和TraceAndTestImpact.testsettings是對解決方案中的測試進行整體上的設(shè)置,這個是建立測試解決方案的時候默認(rèn)自動建立的兩項,一個用于運行,一個用于調(diào)試,當(dāng)然這兩項是可以刪除的,testsettings類型文件可以通過右擊Solution Items的時候點擊添加新建項建立。

  TestProject1.vsmdi:是用于對項目中創(chuàng)建的測試method進行組織和管理,讓其能組織成流程線,一個個進行測試。

  TestProject:我們剛才建立的測試項目,可以看到剛才建立的UI測試CodedUITest1.cs。

  二.錄制程序并回放

  1、假設(shè)我們現(xiàn)在有一個程序(這個示例程序在文章末尾有提供地址),現(xiàn)在我們需要對系統(tǒng)登錄的部分進行測試,正確的用戶名為”Admin”,密碼為”123456”。

  測試的內(nèi)容是:

  (1).輸入錯誤的用戶名或輸入錯誤的密碼,檢測系統(tǒng)是否提示“用戶或密碼錯誤”。

  (2).輸入正確的用戶名和正確的密碼,檢測系統(tǒng)是否提示“登錄成功”。

  程序的截圖如下所示:

  2、現(xiàn)在我們可以開始進行錄制,將剛才的測試內(nèi)容錄制成實際的操作:

  3、點擊確定之后,可以看到屏幕的右下角彈出一個UI測試生成器,點擊錄制之后,就可以進行操作了:

  4、之后首先輸入錯誤的用戶名和密碼,然后點擊登錄,之后彈出提示框“用戶名和密碼錯誤“:

  5、這個時候我們可以在錄制面板點擊暫停錄制,然后點擊”生成代碼“,并將剛才的操作放入方法InputErrorUidPwd中(至于生成后的代碼被放在了哪,現(xiàn)在可以先不用關(guān)心,最后我會進行說明)。

  6、這個時候點擊錄制面板上的準(zhǔn)星(這個時候準(zhǔn)星已經(jīng)Enable了),并一直按住鼠標(biāo)不放,將鼠標(biāo)拖到剛才的彈出框上面的文字再松開,然后測試生成器的對象庫窗口會自動彈出,VS2010將捕獲彈出框上的label對象,如下圖所示:

  7、現(xiàn)在我們要進行第一個驗證,就是驗證這個彈出框”用戶名或密碼錯誤!”是否彈出來了,如果是,則測試通過,如果不是,則失敗,接著先前的步棸,首先要確認(rèn)左邊的列表中“UI用戶名或者密碼錯誤Text“對象選中,之后選擇右邊的列表中的Exists屬性(該屬性表示label是否存在,存在則是True,不存在則是false),點擊添加斷言。

  然后彈出為Exists添加斷言的窗口,這里我們需要選擇AreEqual,比較值是True,表示我們斷言”用戶名或密碼錯誤”這個label存在,如果運行測試的時候該label確實存在,則該測試步驟是通過的,否則就是失敗。

  之后點擊錄制面板的生成代碼,為剛才添加的斷言生成方法AssertErrorWindow()(至于生成后的代碼被放在了哪,現(xiàn)在可以先不用關(guān)心,最后我會進行說明)。

  8、然后我們繼續(xù)開始錄制,錄制開啟后,首先點擊“用戶名或密碼錯誤“彈出框的確定,然后用上面介紹的同樣的方法,輸入正確的用戶名和密碼,判斷彈出框是否為”登錄成功”,分別添加InputRightUidPwd()操作方法和AssertRightWinow()斷言方法,最后便可以錄制結(jié)束。

  9、之后我們可以點擊運行來進行測試:

  之后VS2010會自動操作剛才演示的程序的登錄窗口,然后報告測試結(jié)果:

  三.如果現(xiàn)在程序發(fā)生異常  

  假設(shè)現(xiàn)在剛才的示例程序,本來輸入錯誤的用戶名或密碼,應(yīng)該彈出提示“用戶名或密碼錯誤”,現(xiàn)在因為開發(fā)人員一時疏忽,不慎將提示改成了亂碼“咪asd阿什頓”,那么是否剛才錄制的測試能夠把這個測試出來呢?我們現(xiàn)在可以試試(這個錯誤的示例程序在文章最后也提供下載)。

  開始運行測試:

  最終不負(fù)我們所望,錯誤還是被測試出來了:

  四.錄制生成的代碼被放在了哪里? 

  首先我們再看看項目的文件結(jié)構(gòu):

  可以發(fā)現(xiàn)剛才錄制之后,VS2010自動生成了UIMap.uitest文件,我們自動生成的代碼就放在UIMap.Designer.cs中。

  進入去查看,可以看到剛才錄制為我們自動生成的四個方法InputErrorUidPwd(),AssertErrorWinow(),InputRightUidPwd(),AssertRightWinow(),展開之后可以看到詳細(xì)操作。

  而在CodeUITest1.cs文件中,也自動添加了幾句代碼,調(diào)用UIMap中錄制的測試操作:

  演示中提到的示例程序

  說明:RightDemo.exe是演示中使用的沒有問題的程序,ErrorDemo.exe是演示中故意修改提示為亂碼的那個示例程序。下載點我

VS2010測試功能之旅 

——編碼的UI測試系列之一

RealZhao,2011年2月14日

NET技術(shù)VS2010測試功能之旅:編碼的UI測試(1),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 德国美女密密麻麻浓毛 | 最近日本MV字幕免费观看视频 | 女女破视频在线观看 | 青青草原国产在线观看 | 久久免费精彩视频 | 中文字幕一区二区三区在线观看 | 久久精品视频15人人爱在线直播 | 战狼4在线观看完免费完整版 | 伦理片qvod | 在线观看亚洲AV无码每日更新 | 国产午夜高潮熟女精品AV | 日本一卡精品视频免费 | 野花日本手机观看大全免费3 | 国产午夜精品一区二区 | 久久精品综合网中文字幕 | 国产欧美精品一区二区色综合 | 无码免费视频AAAAAA片草莓 | 国产成人综合高清在线观看 | 久久不射电影网 | 亚洲黄色片免费看 | 亚洲午夜精品一区二区公牛电影院 | 暗卫受被肉到失禁各种PLAY | 天海翼精品久久中文字幕 | 天天干夜夜叭 | 我半夜摸妺妺的奶C了她软件 | 亚洲欧美自拍清纯中文字幕 | 香蕉水蜜桃牛奶涩涩 | 国产中文字幕乱码免费 | 年轻的女教师2017韩国在线看 | 玖玖爱在线播放 | 精品网站一区二区三区网站 | AV色蜜桃一区二区三区 | 亚洲AV无码乱码在线观看浪潮 | 日韩精品无码视频一区二区蜜桃 | 夜月视频直播免费观看 | 欧美熟妇VIVOE精品 | 理论片午午伦夜理片I | 无码人妻少妇色欲AV一区二区 | 一本色道久久综合亚洲精品蜜桃冫 | 久久国产露脸老熟女熟69 | 出差无套内射小秘书 |