接上一篇 http://tianxietaotao.blog.51cto.com/12002420/1951701 這篇我大概介紹下我這個工具的簡單介紹
先上圖:
製作背景:
Web自動化測試在現在測試領域已經越來越普遍,但是寫代碼對於好多測試猿代碼基礎較弱,搭建系統也比較麻煩。所以我抽閒暇時間做了這個簡單的工具:下面簡單介紹下功能
工具簡單介紹:
1、工具欄:Resume:調試階段執行到下一個斷點 next:單步執行 debug/run 模式切換 執行、停止
2、用例樹:用例採用execl或者xml維護,可以加入到測試系統
3、工作區:單用例執行時方便 執行和調試 包含 table查看用例數據 、find 斷點時查找元素判斷書寫方式是否正確
4、log:執行日誌
5、調度區:暫時支持順序執行、用例調整順序刪除等
我稱這個軟件爲 個人客戶端版Auto,雖然還有很多細節需要完善,我還是介紹下我寫這個軟件的過程,如果有借鑑的地方,歡迎大家吐槽。
這張圖是整個軟件可以完善的覆蓋selinum功能的核心。這裏大家睜大眼看吧
1、初始想法
Selinum 我們關注的只有兩點 1、元素 2、動作
我在做軟件的時候也分爲兩個實例 1、查找元素 2、執行動作 有了這個思路我們的第一步就可以開邁了
2、想法細化
1、模型設計 用人話說就是 用例的每一條命令包含的內容 抽象爲java模型
2、用例源選擇 execl、xml 等 用例源 這裏介紹使用execl
細化到這已經足夠你實施第一步了
1、使用過selinum應該知道 selinum每一個findelement方法 返回爲WebElement WebElement可以繼續查找元素
這個功能我們不能砍掉啊,鏈式查找很常用。我們查看WebElement 的類實現樹 驚喜的發現 WebDriver 和WebElement 居然實現了同一個接口。多態用起來
查找元素方法設計爲 入口
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爲具體根據模型設計讀取的類,這樣元素查找的問題就解決了
2、命令:命令比較簡單 最傻的方式就是設計命令後 if else if 時間原因我也是這麼做的
這樣基礎的核心就有了!界面的封裝缺失也挺消耗時間的。上面的給大家共勉吧!