WEB端UI自动化测试(十一)模拟键盘操作

在测试过程中,有时需要用到键盘,比如刷新页面F5,复制粘贴CV,回车之类的

java.awt包为我们提供了robot类来执行按下和抬起

    public synchronized void keyPress(int i)
    {
        checkKeycodeArgument(i);
        peer.keyPress(i);
        afterEvent();
    }

    public synchronized void keyRelease(int i)
    {
        checkKeycodeArgument(i);
        peer.keyRelease(i);
        afterEvent();
    }

重要的是传什么样的参数,方式有两种:

1. 我们可以传键值对应的整数

2. 也可以直接传键值的event

格式:
            robot.keyPress(17);
            robot.keyPress(16);
            robot.keyPress(77);
            robot.keyRelease(17);
            robot.keyRelease(16);
            robot.keyRelease(77);
或者
            robot.keyPress(java.awt.event.KeyEvent.VK_CONTROL);
            robot.keyPress(java.awt.event.KeyEvent.VK_SHIFT);
            robot.keyPress(java.awt.event.KeyEvent.VK_M);
            robot.keyRelease(java.awt.event.KeyEvent.VK_M);
            robot.keyRelease(java.awt.event.KeyEvent.VK_CONTROL);
            robot.keyRelease(java.awt.event.KeyEvent.VK_SHIFT);
或者
            import java.awt.event;
            robot.keyPress(KeyEvent.VK_CONTROL);
            robot.keyPress(KeyEvent.VK_SHIFT);
            robot.keyPress(KeyEvent.VK_M);
            robot.keyRelease(KeyEvent.VK_M);
            robot.keyRelease(KeyEvent.VK_CONTROL);
            robot.keyRelease(KeyEvent.VK_SHIFT);
 
 

下面是我整理的键值表,网上相关资源很多:

 
常数名称 十六进制值 十进制值 对应按键
VK_LBUTTON
01
1
鼠标的左键
VK_RBUTTON 02 2 鼠标的右键
VK-CANCEL
03
3
Ctrl+Break(通常不需要处理)
VK_MBUTTON 04 4 鼠标的中键(三按键鼠标)
VK_BACK
08
8
Backspace键
VK_TAB 09 9 Tab键
VK_CLEAR
0C
12
Clear键(Num Lock关闭时的数字键盘5)
VK_RETURN 0D 13 Enter键
VK_SHIFT
10
16
Shift键
VK_CONTROL 11 17 Ctrl键
VK_MENU
12
18
Alt键
VK_PAUSE 13 19 Pause键
VK_CAPITAL
14
20
Caps Lock键
VK_ESCAPE 1B 27 Ese键
VK_SPACE
20
32
Spacebar键
VK_PRIOR 21 33 Page Up键
VK_NEXT
22
34
Page Domw键
VK_END 23 35 End键
VK_HOME
24
36
Home键
VK_LEFT 25 37 LEFT ARROW 键(←)
VK_UP
26
38
UP ARROW键(↑)
VK_RIGHT 27 39 RIGHT ARROW键(→)
VK_DOWN
28
40
DOWN ARROW键(↓)
VK_Select 29 41 Select键
VK_PRINT
2A
42
 
VK_EXECUTE 2B 43 EXECUTE键
VK_SNAPSHOT
2C
44
Print Screen键(抓屏)
VK_Insert 2D 45 Ins键(Num Lock关闭时的数字键盘0)
VK_Delete
2E
46
Del键(Num Lock关闭时的数字键盘.)
VK_HELP 2F 47 Help键
VK_0
30
48
0键
VK_1 31 49 1键
VK_2
32
50
2键
VK_3 33 51 3键
VK_4
34
52
4键
VK_5 35 53 5键
VK_6
36
54
6键
VK_7 37 55 7键
VK_8
38
56
8键
VK_9 39 57 9键
VK_A
41
65
A键
VK_B 42 66 B键
VK_C
43
67
C键
VK_D 44 68 D键
VK_E
45
69
E键
VK_F 46 70 F键
VK_G
47
71
G键
VK_H 48 72 H键
VK_I
49
73
I键
VK_J 4A 74 J键
VK_K
4B
75
K键
VK_L 4C 76 L键
VK_M
4D
77
M键
VK_N 4E 78 N键
VK_O
4F
79
O键
VK_P 50 80 P键
VK_Q
51
81
Q键
VK_R 52 82 R键
VK_S
53
83
S键
VK_T 54 84 T键
VK_U
55
85
U键
VK_V 56 86 V键
VK_W
57
87
W键
VK_X 58 88 X键
VK_Y
59
89
Y键
VK_Z 5A 90 Z键
VK_NUMPAD0
60
96
数字键0键
VK_NUMPAD1 61 97 数字键1键
VK_NUMPAD2
62
98
数字键2键
VK_NUMPAD3 62 99 数字键3键
VK_NUMPAD4
64
100
数字键4键
VK_NUMPAD5 65 101 数字键5键
VK_NUMPAD6
66
102
数字键6键
VK_NUMPAD7 67 103 数字键7键
VK_NUMPAD8
68
104
数字键8键
VK_NUMPAD9 69 105 数字键9键
VK_MULTIPLY
6A
106
数字键盘上的*键
VK_ADD 6B 107 数字键盘上的+键
VK_SEPARATOR
6C
108
Separator键
VK_SUBTRACT 6D 109 数字键盘上的-键
VK_DECIMAL
6E
110
数字键盘上的.键
VK_DIVIDE 6F 111 数字键盘上的/键
VK_F1
70
112
F1键
VK_F2 71 113 F2键
VK_F3
72
114
F3键
VK_F4 73 115 F4键
VK_F5
74
116
F5键
VK_F6 75 117 F6键
VK_F7
76
118
F7键
VK_F8 77 119 F8键
VK_F9
78
120
F9键
VK_F10 79 121 F10键
VK_F11
7A
122
F11键
VK_F12 7B 123 F12键
VK_NUMLOCK
90
144
Num Lock 键
VK_SCROLL 91 145 Scroll Lock键
 
 
 
 
上面没有提到的:(都在大键盘)      
VK_LWIN
 
91
左win键
VK_RWIN   92 右win键
VK_APPS
 
93
右Ctrl左边键,点击相当于点击鼠标右键,会弹出快捷菜单
    186 ;(分号)
 
 
187
=键
    188 ,键(逗号)
 
 
189
-键(减号)
    190 .键(句号)
 
 
191
/键
    192 `键(Esc下面)
 
 
219
[键
    220
 
 
221
]键
    222 ‘键(引号)
 
 
 
posted @ 2019-10-17 20:03  归藏  阅读(622)  评论(0)    收藏  举报