? ? ? ?Xebium來(lái)源于Fitnesse,開始接觸Fitnesse是在幾年前,只是在無(wú)意中需要一款能夠在項(xiàng)目組各成員間溝通叉弦,需求確定,自動(dòng)化腳本編寫和執(zhí)行藻糖,并結(jié)合Jenkins進(jìn)行驗(yàn)收測(cè)試的工具而搜索到的一個(gè)框架淹冰。后來(lái)逐步的深入,從最初的調(diào)用關(guān)鍵詞進(jìn)行單元測(cè)試巨柒,然后自己開發(fā)接口或者用fit框架來(lái)深度定義樱拴,一步步適合各個(gè)開發(fā)階段凝颇,可以說(shuō)是一個(gè)非常棒的工具。
? ? ? ? 從一款工具的掌握來(lái)說(shuō)疹鳄,最先需要搞懂的就是它因何發(fā)展出來(lái)拧略。
? ? ? ? 首先,F(xiàn)itnesse是一款基于wiki語(yǔ)法的工具瘪弓。wiki的網(wǎng)站因?yàn)楹芏嘣蛟趪?guó)內(nèi)無(wú)法看垫蛆,但在國(guó)外確實(shí)是一個(gè)不錯(cuò)的基于多人分享的大百科全書式的網(wǎng)站。核心在于腺怯,文章都有多人編輯袱饭、糾錯(cuò)而來(lái),那么需要一套語(yǔ)法來(lái)保證排版呛占、布局和內(nèi)容虑乖。大家交流方式的一致性(用一種大家熟悉的語(yǔ)言來(lái)闡述、解釋晾虑、說(shuō)明)疹味,這種一致性確保了溝通的基礎(chǔ),易于理解和書寫帜篇,布局排版根據(jù)標(biāo)記糙捺,系統(tǒng)自動(dòng)解釋出來(lái)。如圖:
?? ? ? ? 那么再引申出去笙隙,光有內(nèi)容是不足以成為一款項(xiàng)目測(cè)試框架的洪灯。然后它怎么改進(jìn)呢?
? ? ? ? ?關(guān)鍵的是竟痰,開發(fā)者把有些特定的標(biāo)記語(yǔ)言解釋為發(fā)現(xiàn)并創(chuàng)建用戶的類實(shí)例签钩。利用反射機(jī)制,只要引用了類包坏快,找到特定的類铅檩,那么可以直接調(diào)用該類下的方法,這樣就可以把一款wiki系統(tǒng)轉(zhuǎn)化為了可以直接調(diào)用特定類的wiki系統(tǒng)假消,那么一款自動(dòng)化測(cè)試系統(tǒng)的雛形也就產(chǎn)生了柠并。
? ? ? ? ?最后做的就是開放這個(gè)系統(tǒng)岭接,用戶可以自己定義調(diào)用的標(biāo)記富拗,傳入類的參數(shù)順序(行傳入或者列傳入等),自定義插件鸣戴,可以Restful方式調(diào)用啃沪,并以此延伸出去,那么就可以打造出適合項(xiàng)目發(fā)展的系統(tǒng)框架窄锅,如圖:
? ? ? ? ?談了這么多的Fitnesse创千,回到Xebium本身缰雇,它只是在Fitnesse框架上,融入Selenium(不需要自己去編程調(diào)用Selenium方法)形成出來(lái)的一套Web自動(dòng)化測(cè)試框架追驴,帶有Fitnesse所有的優(yōu)點(diǎn)械哟,又能基于Selenium腳本(需要轉(zhuǎn)換成Xebium語(yǔ)法)自動(dòng)執(zhí)行網(wǎng)頁(yè)自動(dòng)化測(cè)試的集成測(cè)試環(huán)境。