專利名稱:一種構(gòu)建Web自動化測試框架的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及Web自動化測試技術(shù)領(lǐng)域,尤其涉及一種構(gòu)建web自動化測試框架的方法。
背景技術(shù):
隨著中國移動業(yè)務(wù)的擴(kuò)展,Web渠道已經(jīng)成為不可或缺的一部分,因此模擬最終用戶對各省Web門戶網(wǎng)廳進(jìn)行可用性測試勢在必行。目前,Web自動化測試框架(如klenium、Watin等)是第三方的框架,可以支持 IE、FireFoX等多種瀏覽器,大部分Web自動化測試采用的是klenium測試框架,結(jié)合各種技術(shù)和工具基本實現(xiàn)了 Web測試的自動化?,F(xiàn)有的基于第三方框架雖然基本實現(xiàn)了 Web測試的自動化,但依然存在以下幾個問題目前存在的W^eb自動化測試框架(如kleniunuWatin等)雖然可以支持IE、FireFox 等多種瀏覽器,但是第三方框架,并不能真正控制IE、FireFox的所有信息;如果框架無法實現(xiàn)的功能,可能就需要整合外部的工具,目前klenium測試框架整合了各種小工具,例如獲取驗證碼圖片需要采用右擊方式、驗證點的全選查找功能等;不支持并行,selenium 系統(tǒng)無法直接獲取驗證碼圖片,因此采用右擊方式保存圖片,這一特性決定了一臺機(jī)器只能單行的結(jié)果,為了支持并行耗費大量硬件資源,本質(zhì)上還是機(jī)器的并行。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述缺陷,提供一種構(gòu)建Web自動化測試框架的方法。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是一種構(gòu)建Web自動化測試框架的方法,包括以下步驟Si、使用WebBrowser控件制作自制瀏覽器,自制瀏覽器可實現(xiàn)跳轉(zhuǎn)、后退、前進(jìn)的 IE功能;S2、使用系統(tǒng)剪貼板獲取驗證碼圖片,并使用Mutex實現(xiàn)互斥,保證系統(tǒng)剪貼板資源的共享;S3、在.NET平臺下,使用IwebBrowser2接口整合自制瀏覽器,使Watin能夠啟動并控制自制瀏覽器;S4、使用Watin操作自制瀏覽器完全控制網(wǎng)頁中的元素,使用Watin框架內(nèi)的接口模擬用戶的操作。步驟S2中還包括以下步驟S21、使用 WebBrowserl. Document. Images
· DomElement 取得 IHTMLControlElement類的驗證碼圖片的元素img ;S22、使用 mshtml. IHTMLControlRange 的 add (img)禾口 execCommand ( 〃 Copy “, false, null)兩個函數(shù)將驗證碼圖片的元素img添加到系統(tǒng)剪貼板中;
S23、使用Clipboard系統(tǒng)剪貼板將驗證碼圖片保存到本地。實施本發(fā)明的技術(shù)方案,具有以下有益效果利用自制瀏覽器能無縫地集成Web 自動化測試框架,網(wǎng)頁內(nèi)容對于Web自動化測試框架都是可見的,可以說Web自動化測試框架不再是第三方框架;自制瀏覽器可以控制網(wǎng)頁中的所有元素,因此獲取驗證碼等元素就不需要整合右擊保存的小工具了,整個系統(tǒng)耦合度較高;由于不需要采用進(jìn)行右擊保存圖片的方式,因此一臺機(jī)器就可以同時并行多個Web頁面了,節(jié)省了資源,提高了效率。
下面將結(jié)合附圖及實施例對本發(fā)明作進(jìn)一步說明,附圖中圖1是本發(fā)明一種構(gòu)建Web自動化測試框架的方法實施例的框架構(gòu)建流程示意圖;圖2是本發(fā)明一種構(gòu)建Web自動化測試框架的方法實施例的框架結(jié)構(gòu)圖;圖3是本發(fā)明一種構(gòu)建Web自動化測試框架的方法實施例的框架實現(xiàn)示意圖;圖4是本發(fā)明一種構(gòu)建Web自動化測試框架的方法實施例的框架應(yīng)用流程示意圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明作進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用于解釋本發(fā)明,并不用于限定本發(fā)明。為了構(gòu)建web自動化測試框架,本發(fā)明采用的自動化測試框架是Watin,以及基于 WebBrowser控件的自制瀏覽器;選擇Watin和WebBrowser進(jìn)行搭配整合,是因為Watin和 WebBrowser都是采用.NET技術(shù),而且Watin是開源的自動化測試框架,可以通過修改源碼將WebBrowser控件無縫集成到Watin中。構(gòu)建web自動化測試框架需要Microsoft Visual Studio 2008. NET 開發(fā)環(huán)境、.NET Framework 3. 5 和 Watin 源代碼。如圖1所示,本發(fā)明一種構(gòu)建web自動化測試框架的方法,包括以下步驟Si、使用WebBrowser控件制作自制瀏覽器;利用.NET組件System. Windows. Forms的Form和WebBrowser制作自制瀏覽器,建立一個Windows Form,里面含有一個 WebBrowser,自制瀏覽器可實現(xiàn)類似IE的功能,如跳轉(zhuǎn)、后退、前進(jìn)等等;也可在內(nèi)存中操作當(dāng)前網(wǎng)頁的內(nèi)容,例如獲取驗證碼圖片等元素;S2、使用系統(tǒng)剪貼板獲取驗證碼圖片,并使用Mutex實現(xiàn)互斥,保證系統(tǒng)剪貼板資源的共享;S3、在.NET平臺下,使用IwebBrowser2接口整合自制瀏覽器,使Watin能夠啟動并控制自制瀏覽器;而不是安裝的IE、Firefox等瀏覽器;分析 Watin 的開源代碼,Watin 框架通過 IEBrowser (IffebBrowser2IffebBrowser2 Instance)構(gòu)造函數(shù)來控制 IE,因為 MternetExplorerClass 類為 IE,繼承 IWebBrowser2 接口,因此只需要調(diào)用 new IEBrowser (new InternetExplorerClass ())就可以控制 IE 了 ; 同理,使自制瀏覽器繼承IWebBrowserf接口,或者獲得自制瀏覽器的IWebBrowserf接口, 那么通過以上的構(gòu)造函數(shù)就可以容易地控制自制瀏覽器了。
4
S4、使用Watin操作自制瀏覽器完全控制網(wǎng)頁中的元素,使用Watin框架內(nèi)的接口模擬用戶的操作。本發(fā)明步驟S2還包括以下步驟首先使用 WebBrowserl. Document. Images
. DomElement 取得 IHTMLControlElement 類的驗證碼圖片的元素 img ;其次,使用 mshtml. IHTMLControlRange 的add(img)和execCommandC Copy",false, null)兩個函數(shù)將驗證碼圖片的元素img 添加到系統(tǒng)剪貼板中;最后使用Clipboard系統(tǒng)剪貼板將驗證碼圖片保存到本地。由于獲取驗證碼圖片用到了系統(tǒng)剪貼板,而系統(tǒng)剪貼板資源只有一個,為了實現(xiàn)并行,保證系統(tǒng)剪貼板資源的共享,使用Mutex互斥量給系統(tǒng)剪貼板加鎖包括以下步驟首先創(chuàng)建互斥量 Mutex ζ = new Mutex (false, “ Clipboard_Mutex 〃),然后使用 m. WaitOne ()等待互斥量,一旦獲得互斥量,就可以使用系統(tǒng)剪貼板對驗證碼圖片進(jìn)行添加和保存,使用系統(tǒng)剪貼板完畢后,使用m. ReleaseMutexO釋放互斥量。如圖2、3所示,通過本發(fā)明構(gòu)建的Web自動化測試框架,該框架能更好地支持Web 測試的并行操作,更充分地利用機(jī)器資源,節(jié)省更多地硬件資源。如圖4所示,本發(fā)明的Web自動化測試框架應(yīng)用的流程示意圖,Web自動化測試框架應(yīng)用包括以下步驟S41、通過Web自動化測試框架配置自動化測試腳本;S42、通過Web自動化測試框架控制,自制瀏覽器擴(kuò)展底層HTTP/HTTPS協(xié)議訪問網(wǎng)站;自制瀏覽器可像IE打開網(wǎng)站,也擴(kuò)可展HTTP/HTTPS底層協(xié)議進(jìn)行訪問,支持并行訪問;S43、自制瀏覽器接收網(wǎng)站返回的內(nèi)容后進(jìn)行預(yù)處理;S44、自制瀏覽器預(yù)處理后的源代碼進(jìn)行HTML展現(xiàn)。從上述應(yīng)用流程來看,與klenium、Watin等其他第三方測試框架不一樣的地方, Web自動化測試框架是在網(wǎng)站返回內(nèi)容后多了一個“預(yù)處理”的過程,可以進(jìn)行驗證碼圖片獲取、源碼修改等操作。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種構(gòu)建Web自動化測試框架的方法,其特征在于,包括以下步驟.51、使用WebBrowser控件制作自制瀏覽器,所述自制瀏覽器可實現(xiàn)跳轉(zhuǎn)、后退、前進(jìn)的 IE功能;.52、使用系統(tǒng)剪貼板獲取驗證碼圖片,并使用Mutex實現(xiàn)互斥,保證所述系統(tǒng)剪貼板資源的共享;.53、在.NET平臺下,使用IwebBrowserf接口整合所述自制瀏覽器,使Watin能夠啟動并控制所述自制瀏覽器;.54、使用所述Watin操作所述自制瀏覽器完全控制網(wǎng)頁中的元素,使用所述Watin框架內(nèi)的接口模擬用戶的操作。
2.根據(jù)權(quán)利要求1所述的一種構(gòu)建Web自動化測試框架的方法,其特征在于,步驟S2 中還包括以下步驟.521、使用WebBrowserl. Document. Images
. DomElement 取得 IHTMLControlElement 類的所述驗證碼圖片的元素img ;.522、使用mshtml. IHTMLControlRange 的 add (img)禾口 execCommand(" Copy" ,false, null)兩個函數(shù)將所述驗證碼圖片的元素img添加到所述系統(tǒng)剪貼板中;.523、使用Clipboard系統(tǒng)剪貼板將所述驗證碼圖片保存到本
全文摘要
本發(fā)明公開了一種構(gòu)建Web自動化測試框架的方法,包括以下步驟S1、使用WebBrowser控件制作自制瀏覽器;S2、使用系統(tǒng)剪貼板獲取驗證碼圖片,并使用Mutex實現(xiàn)互斥;S3、在.NET平臺下,使用IwebBrowser2接口整合自制瀏覽器,使Watin能夠啟動并控制自制瀏覽器;S4、使用Watin操作自制瀏覽器完全控制網(wǎng)頁中的元素,使用Watin框架內(nèi)的接口模擬用戶的操作。利用本發(fā)明的Web自動化測試框架,網(wǎng)頁內(nèi)容都是可見的;自制瀏覽器可以控制網(wǎng)頁中的所有元素,整個系統(tǒng)耦合度較高;可以同時并行多個Web頁面,節(jié)省資源,提高了效率。
文檔編號G06F17/30GK102541732SQ20111043884
公開日2012年7月4日 申請日期2011年12月23日 優(yōu)先權(quán)日2011年12月23日
發(fā)明者萬宇濤, 林建湖, 蒙琳, 鄭潛 申請人:中國移動(深圳)有限公司