成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發 后端
在瀏覽器中打開頁面并加以判斷,無疑是測試一個Web應用程序最直接的方式。借助一款合適的自動測試工具或框架,測試人員就可以在一定程度上從繁重的手動測試工作中解放出來。

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

WatiN

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

Selenium

嚴格說來,Selenium是一套完整的Web應用程序測試系統,它包含了測試的錄制(Selenium IDE)、編寫及運行(Selenium Remote Control)和測試的并行處理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript編寫,因此可運行于任何支持JavaScript的瀏覽器上。

Selenium Core由一種指定格式的HTML文件驅動,在一定程度上增強了測試套件(Test Suite)的可讀性。Selenium Remote Control允許測試人員使用常見的語言(自然包括C#等.NET語言)編寫測試代碼,并支持不同操作系統下的各種主流瀏覽器。Selenium Grid的作用是將測試分發至多臺機器,這樣便可大大加快測試速度。與WatiN相同,Selenium也是一款同樣使用Apache License 2.0協議發布的開源框架。

LTAF

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

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

由于直接在瀏覽器中運行,它天生便支持現有的——以及未來可能出現的任意瀏覽器。

由于直接部署在被測試的網站中,因此測試代碼和網站頁面是在同一個進程中。

***點優勢自不必說,而第二點更是關鍵。試想WaitN和Selenium,都是通過編寫代碼在瀏覽器中打開頁面。這意味著我們的在測試代碼和被測試的網頁分別在不同的進程中。在這個前提下,如果我們要將測試代碼中定義的數據傳遞給被測試的網頁(也就是視圖對象),我們就必須進行跨進程的通信。而無論怎么實現,都逃不過“序列化”一途,這無疑增加了復雜度。而使用LTAF之后,這個問題瞬間煙消云散了,因為我們可以直接在內存中“傳遞”測試數據,一切都只是個引用而已。

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

由于LTAF將待測試的頁面放置在Frame中,因此該頁面上的window.top等基于瀏覽器frame結構的屬性會被改變。

由于LTAF的本質是使用JavaScript來操作DOM,這意味著任何會阻塞程序進行的操作(例如alert)都不能使用,否則將阻塞整個測試過程。

幸運的是,這兩點都不會成為嚴重的問題。對于***種情況,我們只需要編寫一個自定的getTop方法來替換直接訪問windows.top的做法即可。而第二種情況——老趙從來不喜歡alert或confirm這種“純瀏覽器功能”,因為它們會帶來很差的用戶體驗,更何況現在的JavaScript類庫/框架都能很輕松的做出這種效果,您覺得呢?

比較

雖然老趙推薦使用LTAF,不過究竟哪款測試框架最適合您的項目,還需要讀者根據需要自己的需要做出判斷。以下表格列出了他們的橫向比較。

框架 WatiN Selenium LTAF
瀏覽器支持 IE / FireFox IE / FireFox / Opera / Safari 任意
自動生成代碼 有,但目前不支持FireFox瀏覽器 58.9
開源協議 Apache Licence 2.0 Apache Licence 2.0 不開源,但發布代碼
其他 / 可將測試分布于多臺機器執行,加快速度 測試代碼與網站在同一進程中

【編輯推薦】

  1. 微軟MVP教你如何看懂.NET CLR基本術語
  2. 詳解.NET 2.0開發Winform程序經驗
  3. 詳解在ASP.NET中用LINQ實現數據處理
責任編輯:彭凡 來源: 51CTO論壇
相關推薦

2009-07-06 10:08:03

Flex自動化

2009-03-27 14:24:24

2016-09-14 11:09:06

Web工具運維

2010-05-06 10:08:21

2013-05-17 10:37:43

.NETWEB壓力測試WEB壓力測試工具

2011-04-07 13:53:25

Web工具

2018-01-16 11:20:08

2011-05-31 18:09:05

動態測試

2009-06-26 10:22:58

JSF測試

2010-04-29 09:20:27

WEB開發

2019-03-15 09:17:22

Web測試工具

2019-11-12 09:00:00

測試工具軟件測試Web UI

2012-06-25 14:30:48

Web

2011-11-18 09:11:21

Web

2011-08-31 10:51:39

MTKAndroid 開發

2009-12-21 09:54:54

Web應用程序安全測試

2019-11-22 09:38:50

工具代碼開發

2020-05-19 12:24:01

Web應用安全測試工具開源

2009-02-10 08:57:01

分布式緩存.Net開發

2011-10-20 10:09:14

JavaScript
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品视频在线免费观看 | 日日日日日日bbbbb视频 | 国产欧美在线播放 | 国产99视频精品免费播放照片 | 日韩免费高清视频 | 国产欧美在线一区二区 | 国产一区二区日韩 | 欧美综合久久久 | 日韩在线播放av | 在线播放国产一区二区三区 | 污污免费网站 | 国产a爽一区二区久久久 | 久久人人爽人人爽 | 天堂一区| 男女视频在线观看免费 | 午夜不卡一区二区 | 欧美一级二级在线观看 | 精品国产免费一区二区三区演员表 | 在线 丝袜 欧美 日韩 制服 | 淫片一级国产 | 亚洲国产精品人人爽夜夜爽 | av在线一区二区三区 | 中文字幕精品一区二区三区精品 | 啪啪综合网 | 久久国产精品99久久久久 | 怡红院免费的全部视频 | 久久av一区 | 中文字幕福利视频 | 四虎永久免费黄色影片 | 欧美激情精品久久久久久变态 | 97精品超碰一区二区三区 | 亚洲精品九九 | 欧美精品在线一区二区三区 | 欧美视频免费在线观看 | 99精品久久久久久久 | 国产黄色一级片 | 日韩中文一区二区三区 | 二区在线视频 | 神马影院一区二区三区 | 欧美区日韩区 | 精品美女 |