自己動手寫Web自動化測試框架(7):框架架構的設計
首先,我們需要一個類,去做幫助我們處理和IE相關的事情,幫助我們操縱IE,開啟和關閉IE。然後,我們需要一組的類,來描述網頁上的元素,比如TextBox和Button,去模擬他們的事件,去取得他們的狀態。總體來說就是封裝這些元素。
除此之外,我們還需要一些輔助的類來幫助我們做一些工作。
接下來我們就先去分析幫助我們操縱IE的類應該有那些功能。所以我們把這個類命名為WebBrowser。參考附帶的WebBrowser.cs檔案。
首先,我們需要一些內部的成員和輔助類,我們開啟的IE程式會用SHDocVw.InternetExplorer類來接受,我們可以把這個變數存在整個類的私有變數去。還有我們其實要取出的是這個網頁的HTMLDocument類,以供以後來使用。這裡我們直接寫成了internal,成員變數,其實可以封裝成一個屬性,看大家的用法了。除了這些,我們還需要一個Timer類,這個類幫助我們完成一些計時的工作。見附帶的timer.cs檔案。
其次,開啟IE程式這樣的事情應該是由這個類來做的,由於這次對WebBrowser的要求不高,我就在建構函式裡面講IE程式初始化好,具體如何處理這些請參見《自己動手寫Web自動化測試框架(2):開啟和操縱IE》。我們給這個類建構函式提供了一個帶有string引數的方法,目的是讓使用者可以方便的傳入URL而開啟瀏覽器並且轉到我們要的頁面去。當我們沒有引數給建構函式時,使用者就會得到一個空的頁面。
再次,我們需要一個NavigateTo函式,來操縱瀏覽器轉到某一個地方去。這個函式不多說,就是我們以前的內容。
最後,我們在這裡新增了一個DoWait的函式,這個函式的主要目的是完成我們《自己動手寫Web自動化測試框架(5):判斷瀏覽器是否載入完成》裡面所討論的等待瀏覽器載入完成。DoWait放在這裡的原因是我們需要在幾個地方判斷頁面載入完成:瀏覽器瀏覽到了新的頁面、使用者點選了某些按鈕或者連結、或者甚至使用者改變了控制元件的狀態,導致頁面回刷,這幾個地方會分別被WebBrowser和以後的Web控制元件類所使用,所以我們把這個DoWait放在 WebBrowser裡面,以後的Web控制元件回去引用WebBrowser類的這個方法來判斷瀏覽器是否完成載入。
注意,這裡把DoWait的程式碼寫在WebBrowser裡面是基於我們以上的頁面沒有Ajax和框架的假設做出的,如果頁面可能有Ajax,我們就不可能簡簡單單的用這個DoWait去等待載入完成。
我們以後會有對目前框架的改進文章,這些文章會討論這些問題。
這樣我們的WebBrowser就大概寫完了。
相關文章
- 自己動手寫Web自動化測試框架Web框架
- 自己動手寫Web自動化測試框架(6):自動化測試框架的規劃Web框架
- 自己動手寫Web自動化測試框架(1) :概述Web框架
- 自己動手寫Web自動化測試框架(3):操縱Web控制元件Web框架控制元件
- 自己動手寫Web自動化測試框架(4):驗證Web控制元件Web框架控制元件
- 自己動手寫Web自動化測試框架(2):開啟和操縱IEWeb框架
- 自動化測試框架: 設計的重構框架
- 自己動手寫Web自動化測試框架(5):判斷瀏覽器是否載入完成Web框架瀏覽器
- 測試開發之自動化篇-自動化測試框架設計框架
- web自動化測試框架-06 如何快速編寫自動化指令碼Web框架指令碼
- Robot Framework自動化測試框架核心指南-如何做好自動化測試平臺框架的設計Framework框架
- 構建高效的自動化測試框架框架
- 自動化測試框架框架
- 軟體測試框架——自動化測試框架框架
- 使用 RFT 設計 Web 2.0 應用的 GUI 自動化測試框架WebGUI框架
- 自己編寫Java Web框架:Takes框架的Web App架構JavaWeb框架APP架構
- 自動化測試框架思路框架
- 自動化測試框架指南框架
- 『居善地』介面測試 — 7、介面自動化測試框架的設計與實現框架
- T框架介紹(自動化測試框架)框架
- 搭建自己的前端自動化測試腳手架(一)前端
- 利用tox打造自動自動化測試框架框架
- 自動化測試框架的AW模式框架模式
- selenium自動化測試框架之PO設計模式框架設計模式
- Web自動化之Headless Chrome測試框架整合WebChrome框架
- 自動化測試框架比較框架
- 自動化測試框架介紹框架
- Selenium自動化測試框架框架
- 軟體測試自動化框架框架
- 介面自動化測試框架 HttpFPT框架HTTP
- 自己動手寫 PHP 框架(一)PHP框架
- web自動化測試框架-01 搭建基礎架構並執行一個樣例Web框架架構
- 軟體自動測試架構設計架構
- 關於介面測試——自動化框架的設計與實現框架
- 四種常用的自動化測試框架框架
- 自動化測試框架:日誌的分析框架
- 介面自動化測試框架搭建的思路框架
- UI自動化測試框架Cypress初探UI框架