QTP模擬滑鼠和鍵盤事件整理

2021-08-30 07:19:20 字數 1883 閱讀 1874

1、滑鼠事件

1.1 使用自帶的click方法

看qtp的幫助,每個物件都有自帶的click方法,通過其中第三個引數指定具體的滑鼠事件

例如:browser("new page").page("new page").webelement("html tag:=form").click

0,0,micrightbtn

注意click方法的前兩個引數是相對座標,即相對於物件控制項左上角的座標。

然而執行指令碼時常常發現右鍵功能無法回放。這需要通過設定回放級別解決。例如:

setting.webpackage("replaytype") = 2

browser("new page").page("new page").webelement("html tag:=form").click

0,0,micrightbtn

setting.webpackage("replaytype") = 1

1.2 使用自帶的fireevent方法

1.3 使用mercury.devicereplay ["歲月聯盟"提供]

set devreplay = createobject("mercury.devicereplay")

devreplay.mouseclick absx+4,absy+4,2

1.4 使用底層的mouse_event

如果上面的方法仍然不管用,就要採用更底層的方法了。不過這種方式不推薦,因為mouse_event識別的是絕對座標,你還需要在呼叫 mouse_event前獲取物件的絕對座標。需要說明的是,如果沒有使用mouseeventf_absolute,函式預設的是相對於滑鼠當前位置的點,用0,0表示,會被認為是當前滑鼠所在的點。

extern.declare micvoid, "mouse_event", "user32.dll", "mouse_event", micbyte,micbyte,micdword,miculong

extern.mouse_event mouseeventf_rightdown,0,0,0

2、鍵盤事件

2.1 sendkeys

最常用的模擬鍵盤操作的事件就是sendkeys了,具體說明一樣參考qtp的幫助。

需要說明的是qtp幫助中的例子,需要做一些調整,qtp中執行不需要顯示指定wscrīpt執行shell命令,否則會報錯。正確的例子如下: "歲月聯盟"

set wshshell = createobject("wscrīpt.shell")

wshshell.sendkeys ""

2.2 mercury.devicereplay

set devreplay = createobject("mercury.devicereplay")

devreplay.sendstring("a")

2.3 使用底層的keybd_event

extern.declare micvoid, "keybd_event", "user32.dll", "keybd_event", micbyte,micbyte,micdword,miculong

extern.keybd_event 42,0,0,0

注意一下這裡的第乙個引數是10進製的。

sendkeys的使用要方便一點,但是穩定性不如後者,

function rtclick( obj )

absx = obj.getroproperty("abs_x")

absy = obj.getroproperty("abs_y")

set devreplay = createobject("mercury.devicereplay")

devreplay.mouseclick absx+4,absy+4,2

set devreplay = nothing

end function

QTP模擬滑鼠和鍵盤事件方法整理

1 滑鼠事件 1.1 使用自帶的click方法 看qtp的幫助,每個物件都有自帶的click方法,通過其中第三個引數指定具體的滑鼠事件 例如 browser new page page new page webelement html tag form click 0,0,micrightbtn 注...

模擬鍵盤事件與滑鼠事件

模擬事件 title head body button id mouseeventtrigger 鍵盤模擬按鈕事件 button button id keyboardeventtrigger 按鈕模擬鍵盤事件 button body script varbtn1 document.getelemen...

C 模擬鍵盤滑鼠事件

1.模擬鍵盤事件 system.windows.forms.sendkeys 以下是 sendkeys 的一些特殊鍵 表。鍵 backspace 或 break caps lock del 或 delete 或 down arrow 下箭頭鍵 end enter 或 esc help home in...