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方法
具體使用參考qtp的幫助吧,需要提醒一下,右鍵選單的彈出對應的是"oncontextmenu"事件,這個幫助裡沒有提到,當然依賴於開發的**實現。
1.3 使用mercury.devicereplay
set devreplay = createobject("mercury.devicereplay")
devreplay.mouseclick absx+4,absy+4,2
1.4 使用windows底層的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命令,否則會報錯。正確的例子(先開啟大些開啟的燈,3秒後自動關閉,
非常形象的例子)如下:
setwshshell =createobject("wscript.shell")
'這裡要特別注意不能寫成wscrīpt.shell,否則會報「activex 部件不能建立物件: 'wscrīpt.shell'」錯誤。
wshshell.sendkeys ""
wait3
wshshell.sendkeys ""
當然我們也可以先定義乙個function,然後每次都呼叫這個function。
public functionsendkeys(stringword)
dim wsh
on error resume next
setwsh =createobject("wscript.shell")
wsh.sendkeys stringword
setwsh =nothing
end function
sendkeys ("") '這裡注意括號中的寫法
wait
3
sendkeys ("") '這裡注意括號中的寫法
2.2 mercury.devicereplay
set devreplay = createobject("mercury.devicereplay")
devreplay.sendstring("a")
2.3 使用windows底層的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...