當你在回放QTP的時候,你是否有注意過QTP在回放的時候鼠標是沒有運動的
有些朋友肯定會問,既然是CLICK點擊為什么鼠標沒有動,而QTP回放的時候卻可以成功的點擊按鈕的呢
其實QTP是有兩種回放模式的:
1. Event模式 -- 事件跟蹤
2. Mouse模式 -- 鼠標跟蹤
Event模式就是我們平時默認用的模式,也就是事件,其實QTP的click方法只是觸發了對象的CLICK事件,而并未真正通過鼠標來進行點擊按鈕。而如果我們使用的是Mouse模式的話,我們會看到回放的時候,鼠標是跟著對象走的,也就是鼠標跟蹤模式。
下面我們來具體看一下是怎么切換回放模式:
切換回放模式有兩種方法:
a.修改QTP OPTIONS設置
我們進入到TOOLS--》options--》WEB-->ADVANCED 然后列表拖到最下面可以找到REPLAY TYPE
我們可以看到QTP默認的回放模式是EVENT,也就是事件跟蹤。
如果我們現在切換到MOUSE,點擊確認后,回放時鼠標就會進行跟蹤,不信大家可以試一下。
b.代碼控制(個人推薦第二種)
為什么推薦這種方式,因為這種方式可以在QTP運行時根據我們的個性化需要來進行控制,隨時可以進行開和關
而使用第一種方式就不能夠達到以上的效果。
代碼:
Setting.WebPackage("ReplayType") = 2
這句話的意思就是把回放模式設置為2, 1代表事件跟蹤,2代表鼠標跟蹤
很清楚了吧,這樣我們就可以在QTP運行時個性化的定制我們的回放模式
那說到這里,肯定會有朋友問,那鼠標模式有什么用,我們平時默認的事件模式不是都夠用了嗎
接下來就說一下,我們為什么要使用鼠標模式,比如觸發了CLICK事件后,應該彈出頁面的,卻被IE給攔截了,而手工點擊可以成功
;還有當我們需要操作鼠標右鍵的時候,等等這些情況我們都可以臨時把回放模式切換成鼠標模式
==================實例==================
我們現在要實現右鍵點擊GOOGLE主頁中GOOGLE大全的鏈接
1.首先我們把這個鏈接對象加載到QTP對象庫中
2.添加完之后我們輸入一下腳步
Setting.WebPackage("ReplayType") = 2 Browser("Google").Page("Google").Link("Google 大全").FireEvent "onclick",,,micRightBtn
3.回放之后就可以看到已經成功點擊了右鍵
這邊先附上簡單的方法介紹
Argument Description
object A test object of type WebElement.
EventName Required. A String value. The name of event to trigger. Available events: onchange, onclick, ondblclick, onblur, onfocus, onmousedown, onmouseup, onmouseover, onmouseout, onsubmit, onreset, onpropertychange.
x Optional. A Long value. The x-coordinate, relative to the upper left corner of the object.
y Optional. A Long value. The y-coordinate, relative to the upper left corner of the object.
BUTTON Optional. A predefined constant or number. See the Constants table, below. The mouse button used to fire the object. Default = micLeftBtn (0).
原文轉自:http://www.uml.org.cn/Test/201012172.asp