您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源功能測(cè)試工具 >
Sikuli:創(chuàng)新的圖形化編程技術(shù)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/9/6 13:41:16 ] 推薦標(biāo)簽:

  Sikuli 的優(yōu)勢(shì)及局限

  Sikuli 為腳本賦予了人類的視角,讓計(jì)算機(jī)不單能夠去捕捉后臺(tái)的接口數(shù)據(jù)和返回值,而且能如同人眼一般,“看”到一個(gè)真實(shí)的 GUI 展現(xiàn)。使用者直接在腳本中引用目標(biāo) GUI 元素的截圖來獲取該對(duì)象,并指定對(duì)其所進(jìn)行的操作,簡(jiǎn)單高效。使得 GUI 自動(dòng)化擺脫了對(duì)應(yīng)用的內(nèi)部程序?qū)崿F(xiàn)的依賴,無需獲取 API,亦無須了解 GUI 的內(nèi)部代碼實(shí)現(xiàn);忽略了標(biāo)準(zhǔn)控件和非標(biāo)準(zhǔn)控件在操作和獲取上的差異性;普遍適用于所有運(yùn)行在有圖形用戶界面的操作系統(tǒng)之上的應(yīng)用,有 GUI 顯示的地方即可被獲取和操作。實(shí)時(shí)的圖形檢索定位,避免了位移和 UI 重排等位置變化造成的無法準(zhǔn)確定位并獲取控件的問題。Python 語法兼容 +Java 內(nèi)核,為其賦予了很強(qiáng)的擴(kuò)展性,同時(shí),Open Source 也讓 Sikuli 本身獲得了更多的發(fā)展機(jī)會(huì)和空間。使用 GUI 元素截圖所編制的 Sikuli 腳本具有良好的代碼可讀性,這一點(diǎn)從上述實(shí)例場(chǎng)景中能夠有所體會(huì)——在這種簡(jiǎn)短的腳本中,已基本接近自然語言的表述方式。這樣的一種展現(xiàn)形式和特性使得手工測(cè)試用例與自動(dòng)化測(cè)試腳本的距離大大縮小,使得這兩者之間的自動(dòng)轉(zhuǎn)化和整合成為可能。

  另外,利用 GUI 截圖進(jìn)行編程的這種特性使得使用者只需要具有基本的程序設(shè)計(jì)知識(shí)即可快速上手,輕松地創(chuàng)建自動(dòng)化腳本操作 GUI 界面完成各種操作,大大降低了程序設(shè)計(jì)的門檻。使得更多的人可以定制個(gè)性化的桌面應(yīng)用。

  但在實(shí)際應(yīng)用中,我們也同樣發(fā)現(xiàn),在現(xiàn)階段 Sikuli 仍具有一定的局限性:

  依賴屏幕截圖,使其在不同的操作系統(tǒng)上,不同的瀏覽器中,甚至是不同的顯示分辨率下,需要獨(dú)立維護(hù)一套圖形源文件,對(duì)于其跨平臺(tái)的能力造成障礙。

  由于對(duì)于截圖的檢索依賴于實(shí)時(shí)的桌面顯示,若出現(xiàn)程序邏輯之外的意外界面遮擋或焦點(diǎn)切換(如,彈出窗口等),則會(huì)對(duì)程序執(zhí)行造成影響。

  IDE 處于開發(fā)初級(jí)階段,穩(wěn)定性和易用性存在一定問題。其本身僅支持初級(jí)的代碼編輯功能,對(duì)于規(guī)模較大的代碼開發(fā)和調(diào)試工作仍存在不便之處。其在 Windows 平臺(tái)和 Linux 平臺(tái)上的運(yùn)行穩(wěn)定性也稍遜于在 MacOSX 上的表現(xiàn)。

  因此,現(xiàn)階段若要使用 Sikuli 獨(dú)立完成具有一定規(guī)模的程序還有些困難,但作為現(xiàn)有自動(dòng)化測(cè)試工具的有效補(bǔ)充,已可以很好的發(fā)揮其自身的優(yōu)勢(shì),為日常工作帶來便利。

  總結(jié)

  本文介紹了圖形化編程技術(shù) Sikuli,使測(cè)試人員對(duì) Sikuli 腳本的特點(diǎn)和使用方法有初步的了解。同時(shí)通過實(shí)例展示如何應(yīng)用 Sikuli 編寫自動(dòng)化腳本進(jìn)行 GUI 交互操作及驗(yàn)證,分析目前 Sikuli 在應(yīng)用上所具有的優(yōu)勢(shì)和局限。

  參考資料

  學(xué)習(xí)

  隨時(shí)關(guān)注 developerWorks 技術(shù)活動(dòng)和網(wǎng)絡(luò)廣播。

  訪問 developerWorks Open source 專區(qū)獲得豐富的 how-to 信息、工具和項(xiàng)目更新以及受歡迎的文章和教程,幫助您用開放源碼技術(shù)進(jìn)行開發(fā),并將它們與 IBM 產(chǎn)品結(jié)合使用。

  Sikuli 官方網(wǎng)站提供了 Sikuli 的安裝包下載、完備的文檔和豐富的實(shí)例。

  vgod's blogSikuli 的主要開發(fā)者之一張琮翔的博客。

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