QTP中利用DOM實現拖動瀏覽器滾動條
有的時候需要在測試的過程中需要模擬拖到瀏覽器的滾動條,我們可以通過Dom調用DocumentElement下的ScrollTop方法實現.
步驟:
(1)通過DOM獲取Page的body高度,這個高度是滾動條滾動的最大范圍
MaxHeight=Pageobj.Object.body.ClientHeight
(2)通過DOM調用Page的DocumentElement下的ScrollTop方法,為ScrollTop方式傳入參數,實現滾動
Pageobj.Object.DocumentElement.ScrollTop=ScrollHeight(注:ScrollHeight為需要滾動到的位置,單位為像素(PX))
以下是封裝的一個拖到滾動條的函數:
'********************************************************** '功能:拖到瀏覽器縱向滾動條 '參數:Pageobj - 需要推動的Page對象 ' ScrollPercentage - 滾動條滾動相對于page高度的百分比(如:0.1表示移動到十分之一處) '作者:** '時間:2013-11-08 '********************************************************** Function DragScrollBar(Pageobj,ScrollPercentage) '判斷ScrollPercentage是否為數字 If IsNumeric(ScrollPercentage) Then '判斷Pageobj對象是否存在 If Pageobj.Exist Then '獲取瀏覽器body的高度 MaxHeight = Pageobj.Object.body.ClientHeight '若ScrollPercentage大于等于1,則滾動條移動到瀏覽器底部 If ScrollPercentage>=1Then ScrollHeight = MaxHeight '若ScrollPercentage小于1,則滾動條移動到ScrollHeight位置 ElseIf (ScrollPercentage>0 And ScrollPercentage<1) Then ScrollHeight = MaxHeight * ScrollPercentage '若ScrollPercentage小于0,則滾動條移動到瀏覽器頂部 Else ScrollHeight = 0 End If '根據ScrollHeight移動瀏覽器滾動條 Pageobj.Object.DocumentElement.ScrollTop = ScrollHeight Else Msgbox "Pageobj對象未找到" End If Else Msgbox "ScrollPercentage參數不正確,必須為數字" End If End Function |
實例:
測試需求:
(1)打開http://www.baidu.com/more/
(2)拖到打開界面中的滾動條到窗口的60%處
'關閉IE瀏覽器 Systemutil.CloseProcessByName "iexplore.exe" '打開http://www.baidu.com/more/ Systemutil.Run "iexplore.exe","http://www.baidu.com/more/" Set Browserobj = Browser("title:=百度產品大全") Set Pageobj =Browserobj.Page("title:=百度產品大全") '等待瀏覽器打開完成 While Browserobj.Object.Busy Wend '調用DragScrollBar拖到瀏覽器滾動條到百分之六十處 Call DragScrollBar(Pageobj,"0.6") |
版權聲明:本文出自 ChinaTNT 的51Testing軟件測試博客:http://www.51testing.com/?306685
原創作品,轉載時請務必以超鏈接形式標明本文原始出處、作者信息和本聲明,否則將追究法律責任。
posted on 2013-11-18 13:49 順其自然EVO 閱讀(1135) 評論(0) 編輯 收藏 所屬分類: qtp