記得幾年前一本《本身動手寫操做系統》在全國的技術範圍內引發了學習操做系統的熱潮。我不才在這裏使用這本書的大名,來分享一下我在寫Web自動化測試框架上面的一些經驗。 首先定義一下Web自動化測試框架:Web自動化測試框架是一個類庫,他能夠幫助測試人員快速寫出Web自動化測試代碼,並幫助測試人員在自動化報錯的時候快速找到Bug。html
目前市場上成熟的Web自動化測試框架有很多,很出名的是Watir,是用如今大名鼎鼎的Ruby寫成的,相對於Watir,有一個也很不錯的.net版本,就是WatiN,WatiN能夠說是市面上能夠找到的最好的C# Web自動化測試框架。微軟和其餘的大公司也有本身的一些Web自動化測試框架,可是公佈的並很少。web
我這裏將會使用C#,一步一步的寫出一個最簡單不過的自動化測試框架。這個框架的功能是基本能夠測試簡單的沒有Ajax,沒有框架,沒有Windows對話框的一些網頁。而如何測試Ajax之類的網頁,我將會在其餘的專題中寫出。框架
首先咱們看使用的非託管的類庫。咱們在這裏將會使用兩個非託管類庫:mshtml.dll和Interop.SHDocVw.dll。 mshtml是微軟IE的核心類庫,下面是Wiki百科的解釋:ide
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要複雜一點,添加引用中,選擇瀏覽標籤,而後在下面的路徑就能夠找到:C:\Program Files\Microsoft Visual Studio 8\Application\PreEmptive Solutions\Dotfuscator Community Edition操作系統
下一次咱們將會講解如何建立IE的實例,而且操縱IE。.net