自己動手寫Web自動化測試框架(1) :概述

Just4life發表於2013-07-31
        記得幾年前一本《自己動手寫作業系統》在全國的技術範圍內引起了學習作業系統的熱潮。我不才在這裡使用這本書的大名,來分享一下我在寫Web自動化測試框架上面的一些經驗。 首先定義一下Web自動化測試框架:Web自動化測試框架是一個類庫,他可以幫助測試人員快速寫出Web自動化測試程式碼,並幫助測試人員在自動化報錯的時候快速找到Bug

  目前市場上成熟的Web自動化測試框架有不少,很出名的是Watir,是用現在大名鼎鼎的Ruby寫成的,相對於Watir,有一個也很不錯的.net版本,就是WatiN,WatiN可以說是市面上可以找到的最好的C# Web自動化測試框架。微軟其他的大公司也有自己的一些Web自動化測試框架,但是公佈的並不多。

  我這裡將會使用C#,一步一步的寫出一個最簡單不過的自動化測試框架。這個框架的功能是基本可以測試簡單的沒有Ajax,沒有框架,沒有Windows對話方塊的一些網頁。而如何測試Ajax之類的網頁,我將會在其他的專題中寫出。

  首先我們看使用的非託管的類庫。我們在這裡將會使用兩個非託管類庫:mshtml.dll和Interop.SHDocVw.dll。 mshtml是微軟IE的核心類庫,下面是Wiki百科的解釋:

  Trident (also known as MSHTML) is the name of the layout engine for the Microsoft Windows version of Internet Explorer. It was first introduced with the release of Internet Explorer version 4 in October 1997, has been steadily upgraded and remains in use today. For version 7 of Internet Explorer, Microsoft made significant changes to the Trident layout engine to improve compliance with web standards and add support for new technologies.

  開發人員可以通過mshtml提供的介面,訪問到IE佈局物件,從而達到對Web的控制和檢查。

  另一個類庫Interop.SHDocVw.dll則提供了一個InternetExploer的介面,可以幫助我們操縱IE程式,並且進行一些簡單的如前進,後退等操作。

  這兩個類庫如果裝了VS2005都可以找到。mshtml是IE自帶的,在專案中選擇新增引用,然後在.net標籤下面找到Microsoft.mshtml就可以找到了。而Interop.SHDocVw要複雜一點,新增引用中,選擇瀏覽標籤,然後在下面的路徑就可以找到:Windows/system32/shdocvw.dll

  下一次我們將會講解如何建立IE的例項,並且操縱IE。

相關文章