前兩天遇到一個QTP腳本編寫的問題。腳本需要填寫一個WEB表單然后提交,表單里面有兩個WebEdit“商品單價”和“購買數量”,只要在“購買數量”中填寫數據,頁面會立即自動計算出商品的總價。結果發現,腳本回放的時候,無法計算出總價。
經過分析發現原因是這樣的。即時計算總價這個功能,是由客戶端的js函數實現的,觸發這個函數的事件是“購買數量”這個控件的“onkeyup”事件。在手工操作時候,我們敲擊鍵盤會觸發這個事件,但是在QTP腳本里面是這樣寫的:
Browser("購買").Page("訂單").WebEdit("購買數量").Set "8"
這行代碼是直接修改了控件的值,因此并沒有觸發“onkeyup”這個事件
解決這個問題也很簡單,只要再增加一句代碼即可:
Browser("購買").Page("訂單").WebEdit("購買數量").FireEvent "onkeyup"
需要注意的是,由于開發人員的編程習慣不同,有的可能是“onkeydown”或者其他事件,所以我們需要先弄清楚,是什么事件觸發了js函數。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/