一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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

  前言

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

  自動(dòng)化測試 

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

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

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

  一個(gè)簡單的示例 

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

  一.新建測試項(xiàng)目

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

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

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

  下面做一個(gè)簡單的介紹:

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

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

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

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

  二.錄制程序并回放

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

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

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

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

  程序的截圖如下所示:

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

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

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

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

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

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

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

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

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

  9、之后我們可以點(diǎn)擊運(yùn)行來進(jìn)行測試:

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

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

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

  開始運(yùn)行測試:

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

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

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

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

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

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

  演示中提到的示例程序

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

VS2010測試功能之旅 

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

RealZhao,2011年2月14日

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

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

主站蜘蛛池模板: 国产成人精品午夜二三区 | 日本高清一区二区三区水蜜桃 | 91久久九九精品国产综合 | 亚洲视频二区 | 一道精品视频一区二区三区图片 | 最新国产网址 | 草草免费 | 国内精品免费一区二区观看 | 欧美成人免费sss | 奇米亚洲春色 | 国产美女免费 | 欧美黑人两根巨大挤入 | 久久不卡一区二区三区 | 福利色播| 亚洲香蕉网综合久久 | 一道精品视频一区二区三区男同 | 国产激情视频趣趣在线观看的 | 男女一级做a爱过程免费视频 | 久久无码精品一区二区三区 | 亚洲高清视频网站 | 国产精品日韩欧美久久综合 | 国产精品久久久久久永久牛牛 | 中文字幕日产每天更新40 | 国产视频一区在线播放 | 婷婷色九月 | 免费国产成人午夜在线观看 | 欧美综合图片 | 级毛片久久久毛片精品毛片 | 加勒比东洋精品映画防屏蔽 | 国产在线一区精品对白麻豆 | 国产精品福利在线观看入口 | 中文字幕va一区二区三区 | 免费国产成人手机在线观看 | 黄色链接在线观看 | 国产猛男猛女超爽免费视频 | 精品在线免费观看视频 | 91视频大全| 色综合久久伊人 | 91精品在线免费 | 国产精品2020 | 一本色道久久综合一区 |