Web自動化測試框架 架構的設計
【生生不息原創】自己動手寫Web自動化測試框架7 - 框架架構的設計
上次我們分析了什麼是我們想要的自動化測試框架,這一次我們基於上一次的分析,來設計我們的自動化測試框架架構。
首先,我們需要一個類,去做幫助我們處理和IE相關的事情,幫助我們操縱IE,打開和關閉IE。然後,我們需要一組的類,來描述網頁上的元素,比如TextBox和Button,去模擬他們的事件,去取得他們的狀態。總體來說就是封裝這些元素。
除此之外,我們還需要一些輔助的類來幫助我們做一些工作。
接下來我們就先去分析幫助我們操縱IE的類應該有那些功能。所以我們把這個類命名爲WebBrowser。參考附帶的文件。
首先,我們需要一些內部的成員和輔助類,我們打開的IE進程會用rnetExplorer類來接受,我們可以把這個變量存在整個類的私有變量去。還有我們其實要取出的是這個網頁的HTMLDocument類,以供以後來使用。這裏我們直接寫成了internal,成員變量,其實可以封裝成一個屬性,看大家的用法了。除了這些,我們還需要一個Timer類,這個類幫助我們完成一些計時的工作。見附帶的文件。
其次,打開IE進程這樣的事情應該是由這個類來做的.,由於這次對WebBrowser的要求不高,我就在構造函數裏面講IE進程初始化好,具體如何處理這些請參見《【生生不息原創】自己動手寫Web自動化測試框架2 - 打開和操縱IE》。我們給這個類構造函數提供了一個帶有string參數的方法,目的是讓用戶可以方便的傳入URL而打開瀏覽器並且轉到我們要的頁面去。當我們沒有參數給構造函數時,用戶就會得到一個空的頁面。
再次,我們需要一個NavigateTo函數,來操縱瀏覽器轉到某一個地方去。這個函數不多說,就是我們以前的內容。
最後,我們在這裏添加了一個DoWait的函數,這個函數的主要目的是完成我們《【生生不息原創】自己動手寫Web自動化測試框架5 - 判斷瀏覽器是否加載完成》裏面所討論的等待瀏覽器加載完成。DoWait放在這裏的原因是我們需要在幾個地方判斷頁面加載完成:瀏覽器瀏覽到了新的頁面、用戶點擊了某些按鈕或者鏈接、或者甚至用戶改變了控件的狀態,導致頁面回刷,這幾個地方會分別被WebBrowser和以後的Web控件類所使用,所以我們把這個DoWait放在WebBrowser裏面,以後的Web控件回去引用WebBrowser類的這個方法來判斷瀏覽器是否完成加載。
Notice注意,這裏把DoWait的代碼寫在WebBrowser裏面是基於我們以上的頁面沒有Ajax和框架的假設做出的,如果頁面可能有Ajax,我們就不可能簡簡單單的用這個DoWait去等待加載完成。
我們以後會有對目前框架的改進文章,這些文章會討論這些問題。
這樣我們的WebBrowser就大概寫完了。下一次我們會講解一組類來實現Web控件。
-
煤礦綜採工作自動化技術探究論文
摘要:綜採工作面是煤礦生產一線陣地,其工作環境複雜多變,工序較多,所以對自動控制要求相對較高。綜採工作面系統通過遠方控制與就地控制,就地分部開車、檢修開車等方式對綜採工作面進行監測和控制[3];控制系統需要實現能夠在地面直接控制井下綜採設備(如:破關鍵詞:自動...
-
電氣工程及其自動化面試問題及答案
1、三相交流電:由三個頻率相同、電勢振幅相等、相位差互差120°角的交流電路組成的電力系統,叫三相交流電。2、一次設備:直接與生產電能和輸配電有關的設備稱爲一次設備。包括各種高壓斷路器、隔離開關、母線、電力電纜、電壓互感器、電流互感器、電抗器、避雷器...
-
自動化專業頂崗實習日記
實習日期:2.13實習內容:今天來到公司裏面主要是先熟悉了下公司的企業文化和工作環境。公司主要的領域是自動化儀器儀表研製和計算機軟件開發,也有綜合保護器生產與銷售。公司文化裏面有學會做人,學會做事,學會學習,學會創新。挺喜歡公司的企業文化的。思考與認識:企業...
-
電器工程電氣自動化技術論文
電氣自動化技術在電氣工程的應用進展摘要:隨着科技的發展和社會的進步,各行各業信息化建設、自動化水平不斷提升,電氣自動化技術在電氣工程中的應用更加廣泛。電氣自動化技術的發展進一步推動了電氣工程的發展,併爲其帶來了顯著的經濟效益,隨着社會公衆對電氣工程自...