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

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

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

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

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

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

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

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

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

  總結(jié)

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

  參考資料

  學(xué)習(xí)

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

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

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

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

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