Web自動(dòng)化測試框架 架構的設計

時(shí)間:2022-07-03 02:33:10 自動(dòng)化技術(shù) 我要投稿
  • 相關(guān)推薦

Web自動(dòng)化測試框架 架構的設計

【生生不息原創(chuàng )】自己動(dòng)手寫(xiě)Web自動(dòng)化測試框架7 - 框架架構的設計

上次我們分析了什么是我們想要的自動(dòng)化測試框架,這一次我們基于上一次的分析,來(lái)設計我們的自動(dòng)化測試框架架構。

首先,我們需要一個(gè)類(lèi),去做幫助我們處理和IE相關(guān)的事情,幫助我們操縱IE,打開(kāi)和關(guān)閉IE。然后,我們需要一組的類(lèi),來(lái)描述網(wǎng)頁(yè)上的元素,比如TextBox和Button,去模擬他們的事件,去取得他們的狀態(tài)?傮w來(lái)說(shuō)就是封裝這些元素。

除此之外,我們還需要一些輔助的類(lèi)來(lái)幫助我們做一些工作。

接下來(lái)我們就先去分析幫助我們操縱IE的類(lèi)應該有那些功能。所以我們把這個(gè)類(lèi)命名為WebBrowser。參考附帶的WebBrowser.cs文件。

首先,我們需要一些內部的成員和輔助類(lèi),我們打開(kāi)的IE進(jìn)程會(huì )用SHDocVw.InternetExplorer類(lèi)來(lái)接受,我們可以把這個(gè)變量存在整個(gè)類(lèi)的私有變量去。還有我們其實(shí)要取出的是這個(gè)網(wǎng)頁(yè)的HTMLDocument類(lèi),以供以后來(lái)使用。這里我們直接寫(xiě)成了internal,成員變量,其實(shí)可以封裝成一個(gè)屬性,看大家的用法了。除了這些,我們還需要一個(gè)Timer類(lèi),這個(gè)類(lèi)幫助我們完成一些計時(shí)的工作。見(jiàn)附帶的timer.cs文件。

其次,打開(kāi)IE進(jìn)程這樣的事情應該是由這個(gè)類(lèi)來(lái)做的,由于這次對WebBrowser的要求不高,我就在構造函數里面講IE進(jìn)程初始化好,具體如何處理這些請參見(jiàn)《【生生不息原創(chuàng )】自己動(dòng)手寫(xiě)Web自動(dòng)化測試框架2 - 打開(kāi)和操縱IE》。我們給這個(gè)類(lèi)構造函數提供了一個(gè)帶有string參數的方法,目的是讓用戶(hù)可以方便的傳入URL而打開(kāi)瀏覽器并且轉到我們要的頁(yè)面去。當我們沒(méi)有參數給構造函數時(shí),用戶(hù)就會(huì )得到一個(gè)空的頁(yè)面。

再次,我們需要一個(gè)NavigateTo函數,來(lái)操縱瀏覽器轉到某一個(gè)地方去。這個(gè)函數不多說(shuō),就是我們以前的內容。

最后,我們在這里添加了一個(gè)DoWait的函數,這個(gè)函數的主要目的是完成我們《【生生不息原創(chuàng )】自己動(dòng)手寫(xiě)Web自動(dòng)化測試框架5 - 判斷瀏覽器是否加載完成》里面所討論的等待瀏覽器加載完成。DoWait放在這里的原因是我們需要在幾個(gè)地方判斷頁(yè)面加載完成:瀏覽器瀏覽到了新的頁(yè)面、用戶(hù)點(diǎn)擊了某些按鈕或者鏈接、或者甚至用戶(hù)改變了控件的狀態(tài),導致頁(yè)面回刷,這幾個(gè)地方會(huì )分別被WebBrowser和以后的Web控件類(lèi)所使用,所以我們把這個(gè)DoWait放在WebBrowser里面,以后的Web控件回去引用WebBrowser類(lèi)的這個(gè)方法來(lái)判斷瀏覽器是否完成加載。

Notice注意,這里把DoWait的代碼寫(xiě)在WebBrowser里面是基于我們以上的頁(yè)面沒(méi)有Ajax和框架的假設做出的,如果頁(yè)面可能有Ajax,我們就不可能簡(jiǎn)簡(jiǎn)單單的用這個(gè)DoWait去等待加載完成。

我們以后會(huì )有對目前框架的改進(jìn)文章,這些文章會(huì )討論這些問(wèn)題。

這樣我們的WebBrowser就大概寫(xiě)完了。下一次我們會(huì )講解一組類(lèi)來(lái)實(shí)現Web控件。


[Web自動(dòng)化測試框架 架構的設計]相關(guān)文章:

1.架構師面試題參考

2.軟件測試工程師

【W(wǎng)eb自動(dòng)化測試框架 架構的設計】相關(guān)文章:

關(guān)于城軌嵌入式軟件自動(dòng)化測試框架的設計和實(shí)現的論文07-03

藝術(shù)與web設計:線(xiàn)07-14

web前端設計師的職責02-10

[精選]系統架構設計師的職責07-14

系統架構設計師的職責11-29

自動(dòng)化測試崗位職責02-26

[轉]網(wǎng)頁(yè)寬度Web頁(yè)面設計規范07-10

基于Web的網(wǎng)絡(luò )考試系統設計與實(shí)現論文07-03

Web前端設計師崗位職責06-09

web前端設計師的職責15篇02-10

99久久精品免费看国产一区二区三区|baoyu135国产精品t|40分钟97精品国产最大网站|久久综合丝袜日本网|欧美videosdesexo肥婆