phoenixframework自動化測試平臺1.5.0全新發布

1、前言

以前一直想對phoenix_webdriver,phoenix_mobile的代碼進行重構,很多朋友反饋平臺的API不夠直觀,尤爲是webUI和mobile app相關的API有些亂。我本身也有這種感受,尤爲在後續的功能擴展上也比較麻煩,隨着用戶量的增長,這幾個模塊的代碼重構愈來愈迫在眉睫,不然之後會有更多的問題。但苦於一直沒有足夠時間。趁這最近換工做間歇的幾天時間,狠下心來把這幾個模塊的代碼好好重構了一下。java

本次重構只是對重要模塊代碼結構的重構,前面全部版本的功能,在新版本中都會完整保留。此外對頁面的js方法,頁面功能,頁面UI,CSS等都有重構,特別是UI,能給您一種面目一新的感受。node

2、重構效果體驗

重構以後的效果以下:android

在develop工程下,用戶邏輯自定義區域使用px或phoenix均能調出平臺支持的全部API接口,接着可直接調用該接口下的全部方法。重構後接口調用也更直觀和方便,尤爲是在我後續若有擴展新功能,就更方便了,代碼邏輯也更清晰。ios

如選擇webAPI方法:git

從如下代碼能夠看出,與以前版本相比,功能已經作了徹底分離。github

3、各API功能說明

一、webAPI

webAPI用於對webUI作自動化測試。能對頁面的元素模擬人手點擊的操做,該API裏面的方法一樣都適用於mobile browser。web

調用方法:spring

        phoenix.webAPI().....數據庫

示例代碼:json

        http://my.oschina.net/u/2391658/blog/607791

二、AndroidAPI

此API用於對Androidapp的元素模擬點擊,滑動等操做。支持虛擬機和實體機。

調用方法:
        phoenix.androidAPI()....

示例代碼:

        http://my.oschina.net/u/2391658/blog/713170

三、checkPointAPI

檢查點方法,這裏面全部的方法在其餘API中均可使用。如phoenix.checkPoint().checkIsFalse(條件);可在webUI,Android,socketAPI等等中使用。檢查結果會自動統計,並能夠在統計圖表中查看。

調用方法:
        phoenix.checkPoint()......

示例代碼:

String r = phoenix.webAPI().webElement("//*[@id=\"su\"]", LocatorType.XPATH).getAttribute("value");//數據庫中的數據能夠與頁面不變的數據混合使用
			phoenix.checkPoint().checkIsEqual(r, "百度一下");//調用檢查點,檢查結果會在日誌中統計

四、commonAPI

此API中的方法爲其餘各個模塊公用。如數據加載,定位信息加載,等待。以前版本定位信息數據是自動加載的,後來感受沒有必要,就改爲經過此方法手動加載了

調用方法:
        phoenix.commonAPI().....

示例代碼:

HashMap<InterfaceBatchDataBean, HashMap<String, String>> datas = phoenix.commonAPI().loadWebCaseDatas(caseName);//加載數據庫測試數據方法		
		HashMap<String,LocatorBean> locators = phoenix.commonAPI().addLocator(caseName);//加載定位信息的方法

五、ftpClientAPI

用於操做FTP服務器,可從FTP服務器上下載,而且能夠向FTP服務器上傳文件。

調用方法:
        phoenix.ftpClient().....

代碼示例:

px.ftpClient().ftpClientConfig(String serverIp, int serverport,
				String loginName, String password, String ftpServerFolder);
		px.ftpClient().ftpUploadFile("test.txt");
		px.ftpClient().ftpDisconnect();

六、imagerReader

用於識別圖片上的文字,這是基於OCR開發的,通常狀況下圖片上的正常文字識別率很高,但部分驗證碼識別率很低。

調用方法:
        phoenix.imageReader().....

代碼示例:

        http://my.oschina.net/u/2391658/blog/713173

七、interfaceAPI

用於接口測試,包含了不少源碼抓取方法,支持https,cookie,動態代理,頁面源碼格式化dom,隨機數工具,正則判斷工具,xml/json數據等不少好用的解析方法。

調用方法:
        phoenix.interfaceAPI().....

代碼示例:

       http://my.oschina.net/u/2391658/blog/491754

八、iosAPI

用於對ios應用操做。該接口暫無實現方法,下個版本會增長。

調用方法:
        phoenix.iosAPI().....

代碼示例:使用方法同Android app

九、svnClient

用於對svn服務器操做,經過此api,能自動獲取到指定目錄下代碼提交者,提交版本,功能描述,以及代碼提交的路徑。實爲自動化持續集成的有力工具。

調用方法:
        phoenix.svnClient()....

代碼示例:

        http://my.oschina.net/u/2391658/blog/713174

十、telnetClient

telnetClient用於操做遠程的socket服務器,可向遠程服務器發送telnet指令,socket指令,而且能夠接收遠程服務器的響應內容。

調用方法:
        phoenix.telnetClient().....

代碼示例:

        http://my.oschina.net/u/2391658/blog/713175

4、1.5.0升級詳細內容

phoenix_web:各table增長了根據id排序功能
phoenix_web:增長部分樣式,如字體調整,增刪改的連接樣式
phoenix_node:修復性能測試時必須開啓監控頁面才能收集被監控機數據的bug
phoenix_web:代碼編輯頁面引入新的代碼編輯器
phoenix_web:頁面js代碼重構
phoenix_webdriver:代碼重構,更易擴展
phoenix_webdriver:支持自定義插入步驟日誌
phoenix_mobiledriver:代碼重構
phoenix_db:增長了多個實用方法,如能夠直接queryObject
phoenix_web:任務/性能測試列表增長自動更新任務狀態功能
phoenix_web:shiro與spring作了集成
phoenix_web:爲shiro增長了緩存支持
phoenix_webdriver:數據及定位信息數據由自動加載改成手動加載
phoenix_webdriver:各個模塊的備註信息完善

5、源碼資源下載

可訪問平臺網站:https://feiyang123.github.io/ 來獲取源碼下載地址,及打包好的war包下載。因爲網盤地址會更換,有新的地址發佈時我會在網站上更新。

環境搭建及使用方法:

http://my.oschina.net/u/2391658/blog/706055

郵箱:5156meng.feiyang@163.com

做者QQ:296595606

平臺QQ羣:246776066

微信公衆號:phoenixframework

 

做者微信號:phoenixframe_2013

相關文章
相關標籤/搜索