使用Sahi測試Dojo應用(2)

發表于:2015-01-30來源:uml.org.cn作者:不詳點擊數: 標簽:Sahi
2. Sahi的工作原理 圖1.Sahi架構圖 Web自動化測試的本質就是模擬用戶事件(單擊、雙擊、輸入文本等操作)獲取結果狀態并驗證是否符合預期。如上圖所示,

  2. Sahi的工作原理

  圖1.Sahi架構圖

  Web自動化測試的本質就是模擬用戶事件(單擊、雙擊、輸入文本等操作)獲取結果狀態并驗證是否符合預期。如上圖所示,Sahi的核心一個用Java編寫的代理服務器。它位于Web應用與瀏覽器當中。當HTTP請求響應通過Sahi代理服務器時,便被注入了用來回放測試用例的Javascript。這些 Javascript中,一部分是Sahi本身用來驅動腳本運行的代碼,另一部分是用戶代碼被Sahi代理服務器解析成的Javascript。目前 Sahi支持三種編程語言:Sahi腳本, Java和Ruby。

  3. Sahi控制器

  運行/bin/dashboard.sh可以啟動Sahi的Dashboard窗口。Dashboard窗口中顯示了所有Sahi預配置并且用戶系統上存在的瀏覽器。如果需要手工添加新的瀏覽器,可以點擊下方的Configure修改瀏覽器配置文件。

  圖2.Sahi Dashboard

  點擊瀏覽器圖標,會彈出相應的瀏覽器窗口(此時Sahi已經自動給瀏覽器配置了Sahi代理服務器)。

  圖3.Sahi初始頁面

  在瀏覽器窗口中按住ALT鍵并雙擊鼠標左鍵,就會彈出Sahi控制器窗口。(通常這只在IE中工作,在Firefox和Chrome中你需要按住 ALT+CTRL)。Sahi控制器可以工作在所有Sahi支持的瀏覽器上。錄制和回放是Sahi控制器窗口中最重要的兩個標簽頁。

  錄制標簽頁

  圖4.Sahi控制器 – 錄制標簽頁

  輸入文件路徑后點“錄制”便開始錄制,點“停”即停止錄制,非常簡單。標簽頁的中部是一個對象識別器,在頁面上按住CTRL鍵,并將鼠標左鍵懸停在某個元素上,對象識別器就顯示出能夠識別該元素的Sahi語句。另外,你可以在下方的輸入框中直接輸入Sahi語句并查看運行結果。

  回放標簽頁

  圖5.Sahi控制器 – 回放標簽頁

  回放標簽頁不僅能夠一次性運行腳本,還可以單步運行,甚至可以中途暫停,這給調試代碼帶了很大便利。點擊下方的鏈接可以查看解析后的腳本以及運行日志等。

  4. Sahi腳本

  Sahi腳本基于Javascript,不同的是Sahi腳本中所有的變量必須帶有$前綴。Sahi代理服務器負責將用戶編寫的Sahi腳本解析成 Javascript并在Rhino引擎中執行(Rhino是一個開源的使Javascript運行于JVM的項目)。所以,Sahi腳本能夠執行文件甚至數據庫操作也就不足為怪了。Sahi腳本定義.sah文件中,但是所有直接訪問DOM節點的函數必須定義在browser tag中。

  二.使用Sahi腳本測試Dojo應用

  下面與大家分享一些我個人使用Sahi測試Dojo應用的經驗。為了使示例代碼能夠被讀者方便地運行,選取http://demos.dojotoolkit.org/demos/form/demo.html 假設為我們將要測試的應用。這是一個用來演示Dojo表單Widget的頁面。

  1. 如何運行示例代碼

  1.下載及安裝Sahi(http://sahi.co.in/w/using-sahi)

  2.下載sahidojodemo.zip并解壓縮到Sahi的userdata/scripts下面。解壓后應該下面這個樣子。

  /userdata/scripts/sahidojodemo/appobjs/JobAppFormPage.sah

  /userdata/scripts/sahidojodemo/tasks/JobAppFormTasks.sah

  /userdata/scripts/sahidojodemo/testcases/JobAppFormTests.sah

  /userdata/scripts/sahidojodemo/testcases/myapp.suite

  /userdata/scripts/sahidojodemo/testcases/testdata.csv

  /userdata/scripts/sahidojodemo/core.sah

  /userdata/scripts/sahidojodemo/run.sh 3.啟動Sahi代理服務器。

  4.運行Sahi的bin目錄下的sahi.sh腳本,或者dashboard.sh也可以啟動Sahi 代理服務器(該腳本用來啟動Sahi Dashboard,同時啟動Sahi代理服務器)。建議啟動dashboard,這樣你能清楚地看出哪些瀏覽器被Sahi探測到了。

  5.如果Sahi Dashboard中顯示了Chrome,你可以直接運行sahidojodemo下的run.sh。否則,你需要把run.sh中的chrome替換成你系統中存在的瀏覽器,比如firefox。

  6.如果一切正常你會看到Dojo的Job Form Application應用被打開,然會進行了一系列操作后關掉。這時,如果一些正常,Sahi的控制臺上會顯示"Success"。如果失敗了,你可以去sahi/userdata/logs/playback下面查看日志。

原文轉自:http://www.uml.org.cn/Test/201204265.asp

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