自動化測試框架 selenium api的封裝


接上一篇 http://tianxietaotao.blog.51cto.com/12002420/1951701 這篇我大概介紹下我這個工具的簡單介紹

先上圖:

wKiom1l8o-GDTxnHAADQq-Ebico028.png-wh_50

製作背景:

    Web自動化測試在現在測試領域已經越來越普遍,但是寫代碼對於好多測試猿代碼基礎較弱,搭建系統也比較麻煩。所以我抽閒暇時間做了這個簡單的工具:下面簡單介紹下功能

工具簡單介紹:

1、工具欄:Resume:調試階段執行到下一個斷點 next:單步執行 debug/run 模式切換 執行、停止

2、用例樹:用例採用execl或者xml維護,可以加入到測試系統

3、工作區:單用例執行時方便 執行和調試 包含 table查看用例數據 、find 斷點時查找元素判斷書寫方式是否正確

4、log:執行日誌

5、調度區:暫時支持順序執行、用例調整順序刪除等



我稱這個軟件爲 個人客戶端版Auto,雖然還有很多細節需要完善,我還是介紹下我寫這個軟件的過程,如果有借鑑的地方,歡迎大家吐槽。

好習慣先上圖 j_0028.gif

wKioL1l8puuApw97AAIf5-VdpjU901.png-wh_50


這張圖是整個軟件可以完善的覆蓋selinum功能的核心。這裏大家睜大眼看吧j_0005.gif

1、初始想法

Selinum 我們關注的只有兩點 1、元素  2、動作

我在做軟件的時候也分爲兩個實例 1、查找元素  2、執行動作  有了這個思路我們的第一步就可以開邁了

2、想法細化

1、模型設計 用人話說就是 用例的每一條命令包含的內容 抽象爲java模型

2、用例源選擇 execl、xml 等 用例源 這裏介紹使用execl

細化到這已經足夠你實施第一步了

1、使用過selinum應該知道 selinum每一個findelement方法 返回爲WebElement WebElement可以繼續查找元素

這個功能我們不能砍掉啊,鏈式查找很常用。我們查看WebElement 的類實現樹 驚喜的發現 WebDriver 和WebElement 居然實現了同一個接口。多態用起來j_0058.gif

查找元素方法設計爲 入口

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 時間原因我也是這麼做的j_0009.gif


這樣基礎的核心就有了!界面的封裝缺失也挺消耗時間的。上面的給大家共勉吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章