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

.NET平臺下Web測試工具橫向比較

  在瀏覽器中打開頁面并加以判斷,無疑是測試一個Web應(yīng)用程序最直接的方式。借助一款合適的自動測試工具或框架,測試人員就可以在一定程度上從繁重的手動測試工作中解放出來。Ruby平臺下的Watir無疑是這方面的姣姣者,因此被大量用于Web應(yīng)用程序的回歸測試或驗收測試。不過對于使用.NET Framework的技術(shù)團隊來說,Watir不一定是最好的選擇。目前社區(qū)中已經(jīng)出現(xiàn)了幾款.NET平臺下的Web測試框架,測試人員現(xiàn)在就可以使用自己最熟悉的語言來實現(xiàn)同樣的功能,并與自己的開發(fā)環(huán)境無縫集成。

WatiN

  WatiN是Watir的“應(yīng)對之作”,使用C#語言開發(fā),不過能夠使用任意.NET語言編寫測試代碼。WatiN 1.0只支持IE瀏覽器,不過從2.0版本開始也能自動操作FireFox(需安裝插件)瀏覽器了。其最新版本是2月19日發(fā)布的2.0 CTP3,對面向FireFox的相關(guān)功能進行了增強并修改了一些bug。其附屬項目WatiN Test Recorder支持對瀏覽器操作的捕獲,并自動生成測試代碼。WatiN Test Recorder目前剛發(fā)布了alpha版本,您可以從它的主頁上跟進其最新消息。WatiN是一個開源項目,使用Apache License 2.0協(xié)議發(fā)布。

Selenium

  嚴格說來,Selenium是一套完整的Web應(yīng)用程序測試系統(tǒng),它包含了測試的錄制(Selenium IDE)、編寫及運行(Selenium Remote Control)和測試的并行處理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript編寫,因此可運行于任何支持JavaScript的瀏覽器上。Selenium Core由一種指定格式的HTML文件驅(qū)動,在一定程度上增強了測試套件(Test Suite)的可讀性。Selenium Remote Control允許測試人員使用常見的語言(自然包括C#等.NET語言)編寫測試代碼,并支持不同操作系統(tǒng)下的各種主流瀏覽器。Selenium Grid的作用是將測試分發(fā)至多臺機器,這樣便可大大加快測試速度。與WatiN相同,Selenium也是一款同樣使用Apache License 2.0協(xié)議發(fā)布的開源框架。

LTAF

  Lightweight Test Automation Framework for ASP.NET(輕量級ASP.NET自動測試框架,下文簡稱為LTAF)是一款由ASP.NET QA團隊開發(fā)的框架,并用于產(chǎn)品的回歸測試。測試人員能夠使用任意.NET代碼編寫測試,并使用內(nèi)置的API操作DOM元素。LTAF最近發(fā)布了April Update并包含了框架代碼,它的Release Note記錄了框架的使用方式。趙劼最近在博客中談到了利用LTAF對ASP.NET MVC應(yīng)用程序中的視圖作獨立的單元測試,他在文章中對LTAF有這樣的評價:

  雖然在某些方面(例如DOM元素的選取)不如其“競爭對手”,但是LTAF自有其獨到之處:

  由于直接在瀏覽器中運行,它天生便支持現(xiàn)有的——以及未來可能出現(xiàn)的任意瀏覽器。
  由于直接部署在被測試的網(wǎng)站中,因此測試代碼和網(wǎng)站頁面是在同一個進程中。
  第一點優(yōu)勢自不必說,而第二點更是關(guān)鍵。試想WaitN和Selenium,都是通過編寫代碼在瀏覽器中打開頁面。這意味著我們的在測試代碼和被測試的網(wǎng)頁分別在不同的進程中。在這個前提下,如果我們要將測試代碼中定義的數(shù)據(jù)傳遞給被測試的網(wǎng)頁(也就是視圖對象),我們就必須進行跨進程的通信。而無論怎么實現(xiàn),都逃不過“序列化”一途,這無疑增加了復(fù)雜度。而使用LTAF之后,這個問題瞬間煙消云散了,因為我們可以直接在內(nèi)存中“傳遞”測試數(shù)據(jù),一切都只是個引用而已。

  不過任何事物都具有兩面性,LTAF也有一些難以天生的,而且是永遠無法彌補的缺點。例如:

  由于LTAF將待測試的頁面放置在Frame中,因此該頁面上的window.top等基于瀏覽器frame結(jié)構(gòu)的屬性會被改變。
  由于LTAF的本質(zhì)是使用JavaScript來操作DOM,這意味著任何會阻塞程序進行的操作(例如alert)都不能使用,否則將阻塞整個測試過程。
  幸運的是,這兩點都不會成為嚴重的問題。對于第一種情況,我們只需要編寫一個自定的getTop方法來替換直接訪問windows.top的做法即可。而第二種情況——老趙從來不喜歡alert或confirm這種“純?yōu)g覽器功能”,因為它們會帶來很差的用戶體驗,更何況現(xiàn)在的JavaScript類庫/框架都能很輕松的做出這種效果,您覺得呢?

NET技術(shù).NET平臺下Web測試工具橫向比較,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 亚洲乱码国产一区三区 | 宅男午夜大片又黄又爽大片 | 最美女人体内射精一区二区 | 樱桃视频高清免费观看在线播放 | 好色美女小雅 | 国产日韩欧美高清免费视频 | 99国产精品久久久久久久日本竹 | 久久久精品成人免费看 | 国产专区亚洲欧美另类在线 | 欧美激情久久久久久久大片 | 青青青青草 | 蜜芽在线播放免费人成日韩视频 | 亚洲中文字幕在线第六区 | 海量激情文学 | 韩国hd高清xxx | 亚洲综合网国产精品一区 | 肉动漫3D卡通无修在线播放 | 国产香蕉九九久久精品免费 | 人妻夜夜爽99麻豆AV | 国内精品乱码卡一卡2卡三卡 | 久久久久999| 日日碰狠狠添天天爽 | 国产精品毛片在线视频 | 黄页免费观看 | 忘忧草下载 | 久久国产一区二区三区 | 九九在线精品亚洲国产 | 红桃传媒少妇人妻网站无码抽插 | 抽插性奴中出乳精内射 | 丰满少妇67194视频 | 午夜婷婷一夜七次郎 | 国产成人a在一区线观看高清 | 国产网址在线观看 | 国产亚洲精品免费视频 | 毛片免费播放 | 国产精品美女久久久久AV超清 | 王晶三级作品 | SORA是什么意思 | 主播蜜汁丝袜精品自拍 | 中文字幕久精品视频在线观看 | 国产精品久久久久久免费字体 |