WTD測試框架功能模塊圖:
1.webui 測試case 引擎
selenium在webui測試的地位很高的魁亦,它集成了webdriver來對各種瀏覽器的模擬操作。目前webdriver支持的瀏覽器很多,包括chrome, firefox,IE,safari等嘉蕾。而且還支持無界面的瀏覽器htmlunitdriver画切。目前WTD支持chrome,firefox,ie,safari,支持在windows,linux, mac上部署執(zhí)行(但我推薦用chrome在windows上執(zhí)行荚恶,穩(wěn)定性高)姜贡。
webui case存放目錄在框架根目錄下的 wtdwebuicases 文件夾中试吁。webUI自動化測試引擎可以直接調(diào)用原生為編譯的java類型的case文件。也就是說鲁豪,只要將.java結(jié)尾的case文件放入case目錄中潘悼,就可以直接運(yùn)行,不需要將此java文件編譯成.class類型文件爬橡。這樣極大的方便了case的開發(fā)。
具體步驟是先將.java類型的case文件動態(tài)編譯成.class類型的文件棒动。然后利用java反射機(jī)制實(shí)例化此case糙申。之后調(diào)用此case中的execute()方法。這樣船惨,這個case就開始運(yùn)行了柜裸,測試人員只需要在case的execute()方法中寫case的測試步驟缕陕。測試步驟中支持WTD框架封裝的一些方法和webdriver自帶的所有方法。而且支持case對當(dāng)前頁面截圖保存疙挺,以便后續(xù)排查錯誤使用扛邑。
2.API接口自動化case引擎
目前API case引擎支持get,post, jsonrpc類型的接口自動化測試。
case的編寫方式及其簡單铐然,只需要創(chuàng)建一個xml文件蔬崩,并且指定要測試的URL地址,類型搀暑,參數(shù)沥阳,及期望的返回值。
接口測試case在框架根目錄下的 wtdapicases目錄下自点。此框架支持公共接口和用戶自定義變量桐罕。比如由于很多接口是需要在用戶登錄狀態(tài)下才能執(zhí)行的,所以我們的測試框架實(shí)現(xiàn)了用戶自定義變量的功能桂敛。測試開發(fā)人員可以先定義一個公共的登錄的xml接口文件功炮。在真正測試的接口中預(yù)先調(diào)用登錄的xml接口。并將返回的cookie或者其他登錄有關(guān)的信息存儲在測試開發(fā)人員自定義的變量中术唬。這樣用戶在執(zhí)行接口時就可以加上此變量的值薪伏,而繞過登錄。
3.結(jié)果生成及截圖模塊
WTD框架可以為每一個case生成一個目錄文件碴开,其中包括測試log文件,測試結(jié)果文件毅该,截圖文件。在整輪case跑完后,框架會將所有case結(jié)果文件整合成一個結(jié)果文件潦牛。整個log文件夾在框架根目錄下的 bin\logs目錄中眶掌。
4.報告生成及發(fā)送模塊
在結(jié)果生成模塊執(zhí)行后會生成一個allResult.xml的總的結(jié)果文件。WTD會將此xml文件轉(zhuǎn)換成一個結(jié)果的html富文本文件巴碗,其中包括總的case數(shù)量朴爬,以及每種類型case pass和fail的數(shù)量和pass 的比例。然后將結(jié)果發(fā)送給所有的測試人員橡淆。測試人員列表可以在框架根目錄的 config\conf\wtd.cfg.xml中添加召噩。