軟件自動化測試之selenium從入門到精通第六部分架構(gòu)設(shè)計_第1頁
軟件自動化測試之selenium從入門到精通第六部分架構(gòu)設(shè)計_第2頁
軟件自動化測試之selenium從入門到精通第六部分架構(gòu)設(shè)計_第3頁
軟件自動化測試之selenium從入門到精通第六部分架構(gòu)設(shè)計_第4頁
軟件自動化測試之selenium從入門到精通第六部分架構(gòu)設(shè)計_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

北風(fēng)網(wǎng)項目培訓(xùn)軟件自動化測試之Selenium從入門到精通講師:Kevin(北風(fēng)網(wǎng))第六講Selenium架構(gòu)設(shè)計

大綱自動化架構(gòu)設(shè)計的思想引入:導(dǎo)出腳本的運行具體類的設(shè)計目的和用途如何生成debug級別的測試報告和回歸測試報告總結(jié)架構(gòu)設(shè)計后帶來了哪些好處第六講Selenium自動化總結(jié)1.自動化架構(gòu)設(shè)計的思想1.將錄制的代碼轉(zhuǎn)化為健壯的代碼2.有專門的文本或者類來存儲自動化對象信息3.形成項目的自動化API4.通過調(diào)用項目的API編寫業(yè)務(wù)API5.生成方便閱讀的測試報告debug

業(yè)務(wù)第六講Selenium自動化總結(jié)2.導(dǎo)出腳本的運行1.SeleniumIDE錄制2.導(dǎo)出成java文件3.啟動selenium-server-standalone-*****.jar(通常寫一個Bat文件)4.修改導(dǎo)出的文件,在Eclipse中執(zhí)行第六講Selenium自動化總結(jié)2.1設(shè)置腳本在不同的瀏覽器中運行火狐firefox=*chromeD:\\ProgramFiles\\MozillaFirefox\\firefox.exe谷歌chrome=*googlechromeC:\\DocumentsandSettings\\Administrator\\LocalSettings\\ApplicationData\\Google\\Chrome\\Application\\chrome.exeIEie=*iexploreSafrisafari=*safariOperaopera=*opera第六講Selenium自動化總結(jié)2.2啟動Selenium的相關(guān)設(shè)置selenium=newDefaultSelenium(“l(fā)ocalhost”,4444,“*iexplore”,“”);//設(shè)置啟動條件selenium.start();//設(shè)置啟動條件selenium.setTimeout(“60000”);//設(shè)置超時的時間selenium.windowMaximize();//將瀏覽器最大化第六講Selenium自動化總結(jié)3.具體類的設(shè)計和用途根據(jù)自動化架構(gòu)設(shè)計的思想提及的六個方面至少設(shè)計如下幾個類Baselib:提供通用的api。例如:讀取文本信息,生成隨機數(shù),獲取瀏覽器信息,啟動終止某個進程等待SeleniumBaselib:封裝自動化工具的核心API,使其更為健壯,并形成自動化項目自身的APIBusinesslib:通過調(diào)用自動化項目的API,把常用的場景寫成方法便于編寫自動化用例的工程師使用ObjectStore接口:用來存放自動化測試中涉及的對象Reportlib:用來生成相應(yīng)的測試報告MethodOutputMessage接口:用來存放lib中的輸出消息第六講Selenium自動化總結(jié)3.1Baselib設(shè)計目的:1.提供與Selenium無關(guān),但與自動化測試相關(guān)的API包括:從外部文件讀取信息,啟動多種瀏覽器,獲得當(dāng)前系統(tǒng)時間,啟動和終止某個應(yīng)用程序,獲得隨機數(shù)等等第六講Selenium自動化總結(jié)3.1.1StringgetPropertyStrin在java.util包下面有一個類Properties,該類主要用于讀取以項目的配置文件(以.properties結(jié)尾的文件和xml文件)publicstaticStringgetPropertyString(Stringkey){StringpropertyFileName=System.getProperty(“user.dir”)+“\\perties”;//獲得文件路徑Propertiesproperties=newProperties();

try{properties.load(newFileInputStream(propertyFileName));//獲取文件中的內(nèi)容}catch(IOExceptione1){//TODOAuto-generatedcatchblocke1.printStackTrace();}

if(key==null||key.equals("")||key.equals("null")){

return"";

}Stringresult="";

try{result=properties.getProperty(key);//取key值}catch(MissingResourceExceptione){e.printStackTrace();

}

returnresult;

}第六講Selenium自動化總結(jié)3.1.2其他將會在創(chuàng)建log中使用下面兩個函數(shù)getBrowser獲得瀏覽器路徑信息getBrowserByName獲得瀏覽器的名稱第六講Selenium自動化總結(jié)3.2SeleniumBaselib設(shè)計目的:1.封裝selenium的api,使其更加健壯,形成自動化項目的api2.提供斷言的相關(guān)方法,包括用例校驗失敗終止腳本和繼續(xù)執(zhí)行腳本兩種方法3.自動化api提供詳細的輸出消息,便于調(diào)試4.自動化api提供向測試報告中寫入消息的方法第六講Selenium自動化總結(jié)3.3BusinessLib根據(jù)Baselib中的提供的API,把常用的業(yè)務(wù)場景封裝成方法便于復(fù)用第六講Selenium自動化總結(jié)3.4RepoterLib生成htmlreport,配合CSS文件生成更為美觀的文件第六講Selenium自動化總結(jié)3.5ObjectStore接口1.設(shè)計目的:保存web頁面中的元素2.變量定義為:publicstaticfinalStringa=3.可以根據(jù)項目的大小將該接口繼續(xù)細分,例如項目的公用接口和具體業(yè)務(wù)接口第六講Selenium自動化總結(jié)3.6MessageOutput接口1.設(shè)計目的:保存baselib類和Businesslib類中的輸出消息2.變量定義為:publicstaticfinalStringa=3.可以根據(jù)項目的大小將該接口繼續(xù)細分,例如將baselib和Businesslib中的消息分開第六講Selenium自動化總結(jié)4.如何生成debug級別的測試報告和回歸測試報告Debug級別的報告:在工程中導(dǎo)入一個jar文件回歸測試報告:生成HTML報告第六講Selenium自動化總結(jié)5.總結(jié)架構(gòu)設(shè)計后帶來了哪些好處1.把架構(gòu)編寫人員(精通代碼設(shè)計),用例編寫人員(了解代碼),以及用例執(zhí)行人員(不懂代碼)分開2.把Selenium識別的不易懂的Web對象,通過自定義變量的方式增強了腳本的易讀性3.通過封裝Selenium的API,使其更加健壯4.把常用的業(yè)務(wù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論