程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 利用 Visual Studio 2013 進行跨浏覽器、編碼 UI 測試

利用 Visual Studio 2013 進行跨浏覽器、編碼 UI 測試

編輯:關於ASP.NET

在過去幾年中,基於 Web 的解決方案為全世界用戶提供便利的訪問,因而非常受歡迎。用戶喜歡它們的另一個原因是它們的方便性。用戶無需安裝單獨的應用程序;僅憑浏覽器就能從任何連接 Internet 的設備連接自己的帳戶。但是,從軟件開發者和測試者的角度看,用戶可以選擇任何 Web 浏覽器會帶來這樣一個問題:解決方案必須經過多種浏覽器的測試。本文將介紹如何通過簡單的方法解決這個問題,即只使用 C# 創建任何新型浏覽器都可以執行的編碼 UI 測試用例。

新 Visual Studio

幾年前,當 Visual Studio 2010 發布時,它最有趣的功能之一是能夠測試基於 Web 的解決方案的 UI。但是,當時這種技術的使用有一定限制;例如,唯一支持的 Web 浏覽器是 Internet Explorer。再者,UI 測試依賴於記錄 Web 網站上的用戶操作,然後重現這些操作來模擬實際用戶操作,這是許多開發者無法接受的。

Visual Studio 2013 候選發布版本 (RC) 在許多不同方面進行諸多改進,從新 IDE 功能到擴展測試框架(bit.ly/1bBryTZ 提供了 RC 版本的詳細變化列表)。從我的角度來看,有兩個新功能特別有趣。第一個,現在不僅可以測試 Internet Explorer(包括 Internet Explorer 11)的 UI,還可以測試所有其他新型浏覽器,例如 Google Chrome 和 Mozilla Firefox。第二個,從測試開發的角度來看甚至更為重要,就是 Microsoft 所稱的“可配置浏覽器編碼 UI 測試屬性”。從根本上看,這個新功能定義了一組 UI 元素的搜索條件。本文後面將詳細介紹這些功能。

被測系統

我將使用這兩個新功能來創建跨浏覽器、完全編碼的 UI 測試。對於我的待測試系統 (SUT),我需要一個公開的、大家熟知的、基於 Web 的應用程序,因此我選擇了 Facebook。我准備介紹兩個基本用戶方案。第一個方案是正測試用例,成功登錄後將顯示個人資料頁面。第二個方案是負測試用例,我輸入無效的用戶憑據來嘗試登錄。此時,我希望用戶響應中顯示某種錯誤消息。

我需要解決幾項挑戰。首先,需要啟動正確的浏覽器(根據測試配置),而且它必須能夠提供對特定 URL 的訪問。其次,在運行期間,必須從 HTML 文檔中提取特定的控件元素,以便為模擬的用戶提供輸入。必要時,必須輸入控件元素的值,並單擊正確的按鈕向服務器提交 HTML 表單。代碼還應能夠處理服務器的響應,驗證響應,並在測試用例完成時最終關閉浏覽器(利用測試的清理方法)。

編碼前

開始編碼前,我需要准備環境,這非常簡單。首先,我需要從 bit.ly/137Sg3U 下載 Visual Studio 2013 RC。默認情況下,可通過 Visual Studio 2013 RC 只針對 Internet Explorer 創建編碼的 UI 測試,但這不是我感興趣的;我要針對所有新型浏覽器創建測試。當然,只要我在代碼中指定用 Internet Explorer 以外的浏覽器運行測試,將不會發生編譯錯誤,但是在運行時會引發未處理的異常。之後我還將演示如何更改浏覽器。為避免編碼過程出現問題,我需要下載並安裝一個名為“編碼 UI 跨浏覽器測試 Selenium 組件”(bit.ly/Sd7Pgw) 的 Visual Studio 擴展,通過它我可以對安裝在計算機中的任何浏覽器執行測試。

代碼探討

一切就緒後,即可演示如何創建新的編碼 UI 項目。打開 Visual Studio 2013,單擊“文件”|“新建項目”|“模板” |“Visual C#”|“測試”|“編碼的 UI 測試項目”。輸入項目名稱,按“確定”查看新解決方案,如圖 1 所示。


圖 1 新建一個編碼的 UI 測試項目

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved