接上一篇 http://tianxietaotao.blog.51cto.com/12002420/1951701 這篇我大概介紹下我這個工具的簡單介紹
成都創(chuàng)新互聯(lián)公司于2013年成立,先為龍崗等服務(wù)建站,龍崗等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為龍崗企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。先上圖:
制作背景:
Web自動化測試在現(xiàn)在測試領(lǐng)域已經(jīng)越來越普遍,但是寫代碼對于好多測試猿代碼基礎(chǔ)較弱,搭建系統(tǒng)也比較麻煩。所以我抽閑暇時間做了這個簡單的工具:下面簡單介紹下功能
工具簡單介紹:
1、工具欄:Resume:調(diào)試階段執(zhí)行到下一個斷點(diǎn) next:單步執(zhí)行 debug/run 模式切換 執(zhí)行、停止
2、用例樹:用例采用execl或者xml維護(hù),可以加入到測試系統(tǒng)
3、工作區(qū):單用例執(zhí)行時方便 執(zhí)行和調(diào)試 包含 table查看用例數(shù)據(jù) 、find 斷點(diǎn)時查找元素判斷書寫方式是否正確
4、log:執(zhí)行日志
5、調(diào)度區(qū):暫時支持順序執(zhí)行、用例調(diào)整順序刪除等
我稱這個軟件為 個人客戶端版Auto,雖然還有很多細(xì)節(jié)需要完善,我還是介紹下我寫這個軟件的過程,如果有借鑒的地方,歡迎大家吐槽。
好習(xí)慣先上圖
這張圖是整個軟件可以完善的覆蓋selinum功能的核心。這里大家睜大眼看吧
1、初始想法
Selinum 我們關(guān)注的只有兩點(diǎn) 1、元素 2、動作
我在做軟件的時候也分為兩個實(shí)例 1、查找元素 2、執(zhí)行動作 有了這個思路我們的第一步就可以開邁了
2、想法細(xì)化
1、模型設(shè)計 用人話說就是 用例的每一條命令包含的內(nèi)容 抽象為java模型
2、用例源選擇 execl、xml 等 用例源 這里介紹使用execl
細(xì)化到這已經(jīng)足夠你實(shí)施第一步了
1、使用過selinum應(yīng)該知道 selinum每一個findelement方法 返回為WebElement WebElement可以繼續(xù)查找元素
這個功能我們不能砍掉啊,鏈?zhǔn)讲檎液艹S?。我們查看WebElement 的類實(shí)現(xiàn)樹 驚喜的發(fā)現(xiàn) WebDriver 和WebElement 居然實(shí)現(xiàn)了同一個接口。多態(tài)用起來
查找元素方法設(shè)計為 入口
1、WebElement findElement(WebDriver dr, Command c){ return findElement(SearchContext, str);} 2、WebElement findElement(SearchContext dr, String[] str) { while(str.length) {findElement(dr, str[0]) }; return dr; } 3、WebElement findElement(SearchContext dr, String str){if (strb.startsWith("xpath:")) { return dr.findElement(By.xpath(str.substring(6))); } }
這樣 1掉2,2掉3 3為具體根據(jù)模型設(shè)計讀取的類,這樣元素查找的問題就解決了
2、命令:命令比較簡單 最傻的方式就是設(shè)計命令后 if else if 時間原因我也是這么做的
這樣基礎(chǔ)的核心就有了!界面的封裝缺失也挺消耗時間的。上面的給大家共勉吧!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。