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

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

  前言

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

  自動(dòng)化測(cè)試 

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

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

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

  一個(gè)簡(jiǎn)單的示例 

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

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

  1、首先打開(kāi)VS2010,選擇測(cè)試à新建測(cè)試:

  2、選擇編碼的UI測(cè)試,簡(jiǎn)歷一個(gè)UI測(cè)試,名稱(chēng)為CodedUITest1.cs:

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

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

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

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

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

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

  二.錄制程序并回放

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

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

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

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

  程序的截圖如下所示:

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

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

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

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

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

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

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

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

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

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

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

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

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

  開(kāi)始運(yùn)行測(cè)試:

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

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

  首先我們?cè)倏纯错?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(),展開(kāi)之后可以看到詳細(xì)操作。

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

  演示中提到的示例程序

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

VS2010測(cè)試功能之旅 

——編碼的UI測(cè)試系列之一

RealZhao,2011年2月14日

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

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

主站蜘蛛池模板: 婷婷四房 | 欧美日本高清视频在线观看 | jlzzjzz大全动漫 | 久久久久综合中文字幕 | 久久伊人中文字幕有码 | 高清国产美女一级毛片 | 丁香六月五月婷婷 | 一级毛片免费不卡 | 日韩视频第二页 | 激情视频在线 | 色yeye成人免费视频 | 天天澡天天摸天天爽免费 | 久久精品爱国产免费久久 | 日本一区二区三区在线 观看网站 | 色哟哟高清视频在线观看 | 91精品视频在线观看免费 | 国产午夜视频在线 | 91在线免费视频 | 最新精品国偷自产在线91 | 成人精品亚洲 | 黄视频在线观看www 黄视频在线观看免费 | 91在线观| 爽爽影院色黄网站在线观看 | 色多多18免费观看 | 在线播放国产视频 | 欧美精品福利 | 99re热久久 | 亚洲乱码在线 | 久草热视频在线观看 | 91福利在线看 | 悠悠色影院 | 色在线视频播放 | 特黄一级毛片 | 国产精品久久久久久麻豆一区 | 日本精品www色 | 国产成人精品亚洲一区 | 国产三级自拍视频 | 欧美日本韩国一区二区 | 麻豆系列| 国产成人在线观看网站 | av中文字幕在线 |