在上面這個(gè)例子里,設(shè)置一列告訴機(jī)器人框架,http://localhost:8271上有一個(gè)遠(yuǎn)程關(guān)鍵字服務(wù)(注意:除了本地主機(jī),也可能是在另一機(jī)器上),且來自遠(yuǎn)程服務(wù)器的關(guān)鍵字將有前綴N機(jī)器人遠(yuǎn)程(任何前綴都可以)。測(cè)試用例一列則定義了一個(gè)叫做管理員登錄的測(cè)試用例,調(diào)用關(guān)鍵字EnterText去輸入用戶名和密碼,關(guān)鍵字ClickButton去點(diǎn)擊OK。這樣一個(gè)測(cè)試有可能是在開發(fā)早期一個(gè)非技術(shù)測(cè)試員或企業(yè)用戶所寫的。關(guān)鍵字庫(kù)本身可以被視作被測(cè)應(yīng)用程序的域模型之上的薄薄一層。比如,如果使用selenium頁(yè)面對(duì)象,那么關(guān)鍵字層可以如圖4所示,按順序調(diào)用頁(yè)面對(duì)象和方法。
圖4. 關(guān)鍵字和域?qū)?/p>
這種抽象概念在被測(cè)應(yīng)用程序變化時(shí)提供了靈活性,經(jīng)常,當(dāng)應(yīng)用程序變化時(shí),只有域模型和關(guān)鍵字實(shí)施隨之改變。測(cè)試用例實(shí)施并不需一直不變,因?yàn)樗ㄔ诟邔。使用機(jī)器人框架和.NET關(guān)鍵字也可以使不同的自動(dòng)化工具在測(cè)試用例水平彼此整合,讓自動(dòng)化工程師可以靈活地為所需關(guān)鍵字行為選擇佳自動(dòng)化工具。例如,如果在一家更大的公司,幾支自動(dòng)化團(tuán)隊(duì)已經(jīng)被選去使用針對(duì)不同產(chǎn)品模塊的不同自動(dòng)化工具,每隊(duì)可以用他們各自的開發(fā)語(yǔ)言為其模塊開發(fā)一個(gè)域模型,如機(jī)器人框架可以加載Python,Java和(通過N機(jī)器人遠(yuǎn)程).NET關(guān)鍵字。測(cè)試用例編寫者也同樣可以在他們的測(cè)試用例里使用來自所有自動(dòng)化團(tuán)隊(duì)的關(guān)鍵字。
總結(jié)
通過允許非技術(shù)用戶在開發(fā)各個(gè)階段編寫測(cè)試用例,將自動(dòng)化行為從抽象變?yōu)榭梢詡鹘o非技術(shù)測(cè)試員和業(yè)務(wù)用戶以減少自動(dòng)化工程師的瓶頸的可復(fù)用關(guān)鍵字。機(jī)器人框架,作為一個(gè)成熟的一般性的關(guān)鍵字框架,允許自動(dòng)化項(xiàng)目一開始集中研究自動(dòng)化測(cè)試和所需關(guān)鍵字,而不是設(shè)計(jì)并實(shí)施一個(gè)測(cè)試框架。使用機(jī)器人框架和N機(jī)器人遠(yuǎn)程將關(guān)鍵字測(cè)試自動(dòng)化擴(kuò)大到.NET,允許關(guān)鍵字利用.NET框架和.NET中自動(dòng)化工具的優(yōu)勢(shì),并允許把來自Python和Java的關(guān)鍵字與相同的測(cè)試用例相結(jié)合。
版權(quán)聲明:本文出自 SPASVO澤眾軟件測(cè)試網(wǎng):http://hgh666.cn/news/html/2014101194841.html
原創(chuàng)作品,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明本文原始出處、作者信息和本聲明,否則將追究法律責(zé)任。