您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源功能測(cè)試工具 > Selenium
基于selenium測(cè)試框架設(shè)計(jì)之MVC模式
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2014/3/5 11:33:33 ] 推薦標(biāo)簽:selenium 測(cè)試框架

這里只是借用MVC這個(gè)名字,其實(shí)和web應(yīng)用的mvc模式不是一個(gè)概念

M是model,是數(shù)據(jù)模型,從測(cè)試來(lái)講包含測(cè)試數(shù)據(jù)和測(cè)試對(duì)象數(shù)據(jù)。
-測(cè)試數(shù)據(jù)管理。在數(shù)據(jù)驅(qū)動(dòng)的場(chǎng)景下可能要用到大量測(cè)試數(shù)據(jù),可以是隨機(jī)或特定約束下生成的,或者從外部導(dǎo)入。無(wú)論哪種都需要支持類和方法來(lái)生成,存儲(chǔ),操縱或轉(zhuǎn)換。
測(cè)試數(shù)據(jù)的格式常見(jiàn)的有csv,xml,excel,數(shù)據(jù)庫(kù)等。在java里配置數(shù)據(jù)一般存在xml或者properties文件,便于讀取和管理,而大量的數(shù)據(jù)紀(jì)錄則用csv比較經(jīng)濟(jì)。數(shù)據(jù)結(jié)構(gòu)來(lái)講映射到對(duì)象比多維數(shù)組更便于檢索,但開(kāi)銷也大一些。
數(shù)據(jù)庫(kù)存測(cè)試數(shù)據(jù)增加了依賴性,但是方便復(fù)雜的查詢。各種結(jié)構(gòu)可謂各有利弊,從個(gè)人實(shí)踐上講csv是常用的輸入輸出格式,其中一個(gè)重要因素是csv轉(zhuǎn)換excel非常方便。

-測(cè)試對(duì)象數(shù)據(jù)。QTP有動(dòng)態(tài)和靜態(tài)對(duì)象庫(kù)的概念。這種機(jī)制有利于腳本的維護(hù),完全可以借鑒到我們自己的框架設(shè)計(jì)體系中來(lái)。selenium里可以標(biāo)示網(wǎng)頁(yè)對(duì)象的是Locator,webdriver里是By。類型不外乎name,id,class,xpath,jquery locator等,描述方式接近于QTP的描述性標(biāo)示。Terrillium 框架采用了groovy混合編程,是利用了腳本語(yǔ)言在描述層次對(duì)象上的靈活性。假如用java實(shí)現(xiàn)的話也可以用遞歸的方式來(lái)檢查組合對(duì)象,比如表單。表單對(duì)象有若干子對(duì)象,比如輸入框,提交按鈕,下拉框等。一個(gè)一個(gè)對(duì)象檢查有些累贅,改進(jìn)后偽代碼如下
checkCombObject(WebObject object){
if(object.hasChildren()){
for(Object obj : object.allChildren){
checkCombObject(obj);
}
}
assertObjectMatch(expectedObj, object);

這樣一行代碼可以檢查整個(gè)表單
checkCombObject(webForm);

先寫到這里,下次再寫V(View)和C(Control)

軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd