利用Jscr pt進行簡單的GUI自動化測試

2021-04-13 23:31:12 字數 1104 閱讀 2647

假設你被派往非洲出差,負責

測試那邊的乙個軟體系統,沒有網路,你的準備也不夠充分,居然忘了帶上你經常使用的

測試工具。(哈哈,誰會碰到這種倒霉事情?!)測試過程中需要重複的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);

窗體出現後,我們就可以通過傳送按鍵給視窗來操作應用程式的功能了,例如,下面指令碼在記事本輸入一串字元:

wshshell.sendkeys("abcd...");

除了傳送字元和數字,sendkeys方法還能傳送組合功能鍵,例如使用tab鍵用於在不同的按鈕之間移動,enter鍵用於按下按鈕,組合alt+f來關閉視窗等,這樣來達到操作應用程式功能的目的(只要應用程式能相對完整地支援鍵盤操作、快捷鍵、tab鍵的操作)。

例如,下面指令碼通過組合alt+o+f鍵調出記事本的字型設定視窗:

wshshell.sendkeys("%of");

需要注意的是,有些gui的介面響應速度會比較慢,因此在各操作之間最好能插入時間緩衝,jscrīpt通過sleep方法來實現:

wscrīpt.sleep(100);

當然,前面所說的不能說是自動化測試,因為它只是把某些手工操作自動化而已,缺乏對結果的驗證。但是在某些情況下還是有它的用武之地的,人生無常,搞不好真的會出現開頭的一幕。 

利用gitee進行簡單文字同步

在不同機器之間同步一小段文字的時候,沒必要自己搭建伺服器,低頻率的同步只需要利用gitee的open api即可,通過放置乙個用於同步的檔案在某個倉庫中,就可以在不同的終端利用python指令碼進行內容的push和pull,從而同步文字資訊,下面給出步驟 獲取gitee私人令牌 使用以下 完成pus...

利用TI的fftlib進行簡單的FFT

今天終於把dsp中的fft弄清楚了,現在總結下成果。一 首先介紹下fft的理論知識 快速傅利葉變換 fft 是dft的一種快速演算法實現。fft的物理意義如下 二 然後介紹下具體的程式設計實現 一開始mag 幅值 陣列的值一直為零,但是icpb 傅利葉變換後的x k 的值卻是正確的,先以table的...

利用hackbar進行sql注入簡單例項

這個簡單的例項是對乙個 進行sql注入,獲得管理員的賬號和密碼 目標 步驟如下 1 先猜解當前網頁的字段數 在hackbar的輸入框中輸入 order by 7 頁面顯示正常,輸入 order by 8 頁面報錯,說明欄位數為7.2 獲取資料庫的基本資訊 輸入union select 1,2,3,4...