利用Jscrīpt進行簡單的GUI自動化測試
發表于:2007-11-02來源:作者:點擊數:
標簽:自動測試
利用Jscrīpt進行簡單的GUI 自動化測試 作者:陳能技 假設你被派往非洲出差,負責測試那邊的一個軟件系統,沒有 網絡 ,你的準備也不夠充分,居然忘了帶上你經常使用的 測試工具 。(哈哈,誰會碰到這種倒霉事情??。?測試過程 中需要重復的GUI操作,你非常
利用Jscrīpt進行簡單的GUI
自動化測試作者:陳能技
假設你被派往非洲出差,負責測試那邊的一個軟件系統,沒有
網絡,你的準備也不夠充分,居然忘了帶上你經常使用的
測試工具。(哈哈,誰會碰到這種倒霉事情??。?STRONG>
測試過程中需要重復的GUI操作,你非常后悔沒有把你的
QTP帶上!
這時候,可能Jscrīpt可以救你一把,哈哈。因為只需要一個記事本就可以編寫你的Jscrīpt腳本,編寫完后就可以馬上運行(Jscrīpt腳本通過
windows的腳本宿主來執行)。
Jscrīpt提供SendKeys方法,可用于將一個或多個鍵擊發送到活動窗口。要想使用SendKeys方法,必須先創建WshShell對象。創建方法如下:
WshShell = Wscrīpt.CreateObject("Wscrīpt.Shell");
然后我們就可以利用WshShell對象來啟動我們需要測試的應用程序,例如,下面腳本啟動記事本:
WshShell.Run("notepad");
啟動時可同時指定窗口出現時的樣式,例如,下面腳本啟動記事本,并把它最大化:
WshShell.Run("notepad",3);
啟動完應用程序后最好能先調用一下AppActivate方法,確保應用程序的窗口被激活。例如:
WshShell.AppActivate("記事本");
窗體出現后,我們就可以通過發送按鍵給窗口來操作應用程序的功能了,例如,下面腳本在記事本輸入一串字符:
WshShell.SendKeys("ABCD...");
除了發送字符和數字,SendKeys方法還能發送組合功能鍵,例如使用TAB鍵用于在不同的按鈕之間移動,Enter鍵用于按下按鈕,組合ALT+F來關閉窗口等,這樣來達到操作應用程序功能的目的(只要應用程序能相對完整地支持鍵盤操作、快捷鍵、TAB鍵的操作)。
例如,下面腳本通過組合ALT+O+F鍵調出記事本的字體設置窗口:
WshShell.SendKeys("%OF");
需要注意的是,有些GUI的界面響應速度會比較慢,因此在各操作之間最好能插入時間緩沖,Jscrīpt通過Sleep方法來實現:
Wscrīpt.Sleep(100);
當然,前面所說的不能說是自動化測試,因為它只是把某些手工操作自動化而已,缺乏對結果的驗證。但是在某些情況下還是有它的用武之地的,人生無常,搞不好真的會出現開頭的一幕。
原文轉自:http://www.kjueaiud.com