會截圖就會自動化測試:Sikuli編程技術

發表于:2014-05-22來源:領測軟件測試網作者:領測軟件測試網采點擊數: 標簽:自動化測試Sikuli
會截圖就會自動化測試Sikuli:創新的圖形化編程技術本文將介紹由 MIT 研究團隊發布的圖形化編程技術 Sikuli。它以圖像檢索為基礎,提供了一套基于 Jython 的腳本語言以及集成開發環境,使用者可利用屏幕截圖直接引用 GUI 元素進行編程,完成交互操作。文中將

  本文將介紹由 MIT 研究團隊發布的圖形化編程技術 Sikuli。它以圖像檢索為基礎,提供了一套基于 Jython 的腳本語言以及集成開發環境,使用者可利用屏幕截圖直接引用 GUI 元素進行編程,完成交互操作。文中將通過其在 GUI 自動化測試中的實際應用分析及程序示例,闡述其帶來的應用思路和可能性。

  引言

  在 GUI 測試中,識別個性化控件、模擬用戶行為及對校驗屏幕顯示結果常常成為自動化測試的瓶頸,此類測試場景大多數情況下仍然依賴于手工測試。本文介紹一種新興的 圖形化編程技術 Sikuli,它擺脫了對控件 API 的依賴,通過當前屏幕的實時圖像檢索獲取操作對象,模擬用戶行為,匹配屏幕區域以校驗真實的視覺顯示結果。文中將通過其在 GUI 自動化測試中的實際應用分析及程序示例,闡述其帶來的應用思路。

  作為一個手工或者黑盒測試人員,有一項技能應該是必備的,那就是截圖技能。好的bug截圖會讓開發人員一眼就能定位到bug所在,讓他們很清晰直觀的了解到什么地方出了bug,這個bug究竟是什么。截圖技巧的高低會直接影響到開發人員對測試人員的評價高地及信任程度,以至于很多時候,有一些剛入行的同學在跟我聊天的時候隱約提到,他們認為手工測試就是 點來點去 + 截圖。當然這個觀點自然是片面和消極的,不過從這里我們也可以看出,對測試人員來說,截圖一手好圖不亞于某風流才子吟得一首好詩,會截圖,截好圖的測試人員會潛移默化的使得整個團隊都變得高效和敏捷起來。

  測試人員都會截圖。以前我們截的圖都是給人看的,現在我們要截圖給機器看,讓機器通過截圖去“讀懂”我們的想法,為我們進行自動化測試。

  Sikuli是什么?

  下面是來自于官網的介紹:

  Sikuli is a visual technology to automate and test graphical user interfaces (GUI) using images (screenshots). Sikuli includes Sikuli Script, a visual scripting API for Jython, and Sikuli IDE, an integrated development environment for writing visual scripts with screenshots easily. Sikuli Script automates anything you see on the screen without internal API’s support. You can programmatically control a web page, a Windows/Linux/Mac OS X desktop application, or even an iphone or android application running in a simulator or via VNC.

  Sikuli是一種使用截圖進行UI自動化測試的技術。Sikuli包括sikul腳本,基于Jython的API以及sikuli IDE。Sikuli可以實現任何你可以在顯示器上看到ui對象的自動化,你可以通過編寫一些代碼來實現web 頁面,window/linux/Mac OS X桌面應用、甚至是iphone和android模擬器的自動化測試。

  安裝jruby/sikuli及其他軟件:

  在這里我們先介紹一下如何使用sikuli + jruby + watir-web_driver來實現基于web的自動化測試,因此在開始之前,我們需要安裝一些基本工具。

  安裝sikuli:

  在這里下載安裝sikuli:http://sikuli.org/download.shtml

  注意:

  1,sikuli是跨平臺的,所以請選擇對應的平臺版本進行下載;

  2,sikuli需要最新的JRE作為支持,所以安裝前請將jre升級到最新;

  3,Sikuli安裝完成后,運行sikuli IDE,檢查是否正常安裝。

  安裝jruby:

  下載地址:http://www.jruby.org/download

  注意:

  1,如果是windows系統,請選擇JRuby 1.6.1 Windows Executable (md5, sha1)進行安裝;

  2,安裝完成后,進入命令行,鍵入jruby -v查看jruby版本,確定jruby是否安裝成功;

  3,將sikuli安裝目錄下的sikuli-script.jar文件拷貝至jruby安裝目錄\lib目錄下;

  安裝watir-webdriver

  安裝完jruby后,進入命令行,鍵入jgem install watir-webdriver,進行安裝。

  注意:

  1,無法安裝時請google

  2,如果仍然無法安裝,請聯系本文作者;

  安裝jruby是因為在sikuli運行的時候會用到Java對象,因此需要在jruby環境中使用。當然,也可以使用jython來調用sikuli,sikuli IDE默認的腳本語言是jython。

  安裝watir-webdriver是因為我們需要一套web 頁面的自動化測試框架來配合sikuli使用,讓sikuli的作用發揮至最大。

  Sikuli 是什么

  Sikuli 是由 MIT 的研究團隊發布的新型圖形化編程技術。它以圖像檢索技術為基礎,提供了一套基于 Jython 的腳本語言以及集成開發環境。使用者可利用屏幕截圖直接引用 GUI 元素進行編程,完成交互操作。Sikuli 一詞取自墨西哥 Huichol Indian 土著語,意為“上帝之眼”,正如其開發者張琮翔所說—— Sikuli 讓電腦能像人一樣“看”這個“真實世界”。

  Sikuli 的安裝與 IDE 使用

  目前 Sikuli 的最新版本為 Sikuli X-1.0rc2。在其 官方網站下載區可獲得為 Mac OS X、Windows 和 Linux 操作系統所提供的安裝文件及安裝方法簡介。

  需注意的是,在 Windows 平臺下,要求有 Java 6 的運行環境支持,若要正常使用 1.0rc2 版本中新增的擴展組件 Sikuli Guide,還需更新 Java 至當前最新版本。在 Linux 平臺上,除了要安裝 Java6 的運行環境之外,還需安裝 wmctl 和 opencv2.0 的 libcv4, libcvaux4, libhighgui4 包。

  Sikuli 提供了一個簡易的腳本開發環境。缺省界面由菜單欄、工具欄、側邊欄、編輯區、控制臺和狀態欄六部分組成,如圖 1 所示。

  圖 1. Sikuli-IDE 界面組成

圖 1. Sikuli-IDE 界面組成

  工具欄中提供了兩組共計 5 個常用工具按鈕及文本搜索框:

屏 幕截圖(Take screenshot):點擊該按鈕,進入屏幕截圖狀態,拖拽輔助線選取需要截取的界面元素,釋放鼠標左鍵的同時,自動將該截圖插入到編輯區中光標當前位 置。使用快捷鍵 Ctrl+Shift+2(Command+Shift+2)也可激活截圖狀態,以完成對于彈出菜單、下拉框一類的控件的實時截圖。該快捷鍵亦可通過主菜 單 File->Preferences 進行自定義。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97