【自動化測試】PC端自動化(一)
keyspywinautoappVKPC小鍵盤chuangkou測試工具True
1.安裝pywinauto
pip installpywinauto
2.開啟PC的.exe可執行檔案的,一種方式就夠用了
from pywinauto import application
app = application.Application().start('notepad.exe')
效果:
3.可以看到視窗的名字是'無標題-記事本'
列印一下這個視窗輸入的位置
print(app[chuangkou].print_control_identifiers())
結果
Control Identifiers:
Notepad - '無標題 - 記事本' (L473, T291, R1267, B688)
['Notepad', '無標題 - 記事本', '無標題 - 記事本Notepad']
child_window(title="無標題 - 記事本", class_name="Notepad")
|
| Edit - '' (L481, T341, R1259, B658)
| ['Edit', '無標題 - 記事本Edit']
| child_window(class_name="Edit")
|
| StatusBar - '' (L481, T658, R1259, B680)
| ['StatusBar 第 1 行,第 1 列', 'StatusBar', '無標題 - 記事本StatusBar']
| child_window(class_name="msctls_statusbar32")
4.寫一個試試:
from pywinauto import application
app = application.Application().start('notepad.exe')
chuangkou = '無標題-記事本'
#print(app[chuangkou].print_control_identifiers())
app[chuangkou].Edit.type_keys("我的第一個輸入 哈哈\n",with_spaces=True,with_newlines=True)#with_spaces空格不減
app[chuangkou].Edit.type_keys("可喜可賀 哈哈\n",with_spaces=True,with_newlines=True)#with_newlines換行
結果:
5.點選一下選單欄試試-->效果: 點選檔案--退出--不儲存
第一步:
from pywinauto import application
app = application.Application().start('notepad.exe')
chuangkou = '無標題-記事本'
#print(app[chuangkou].print_control_identifiers())
app[chuangkou].Edit.type_keys("我的第一個輸入 哈哈\n",with_spaces=True,with_newlines=True)#with_spaces空格不減
app[chuangkou].Edit.type_keys("可喜可賀 哈哈\n",with_spaces=True,with_newlines=True)#with_newlines換行
app[chuangkou].menu_select("檔案->退出")
6.效果
7.切換到彈出視窗點選不儲存按鈕
from pywinauto import application
app = application.Application().start('notepad.exe')
chuangkou = '無標題-記事本'
#print(app[chuangkou].print_control_identifiers())
app[chuangkou].Edit.type_keys("我的第一個輸入 哈哈\n",with_spaces=True,with_newlines=True)#with_spaces空格不減
app[chuangkou].Edit.type_keys("可喜可賀 哈哈\n",with_spaces=True,with_newlines=True)#with_newlines換行
app[chuangkou].menu_select("檔案->退出")
out_1 = '記事本'
anniu = '不儲存'
app[out_1][anniu].click()
效果:
8.滑鼠操作:
from time import sleep
from pywinauto.mouse import move
x=y=20
for i in range(10):
xq=x*i
yq=y*i
sleep(1)
move(coords=(xq,yq))#移動滑鼠
9鍵盤操作:1.
#引入鍵盤操作
from pywinauto.keyboard import send_keys
#傳送鍵盤指令
send_keys('11111111')
2.
#引入鍵盤操作
from time import sleep
from pywinauto.keyboard import send_keys
#傳送鍵盤指令
send_keys('{VK_LWIN}cmd{VK_RETURN}')
sleep(0.5)
send_keys('ipconfig{VK_RETURN}')
效果1:滑鼠的游標位置寫了值
效果2:
常用ASCII碼/ASCII[ASCII]
ESC鍵:VK_ESCAPE (27)
回車鍵:VK_RETURN (13)
TAB鍵:VK_TAB (9)
Caps Lock鍵:VK_CAPITAL (20)
Shift鍵:VK_SHIFT (16)
Ctrl鍵:VK_CONTROL (17)
Alt鍵:VK_MENU (18)
空格鍵:VK_SPACE (32)
退格鍵:VK_BACK (8)
左徽標鍵:VK_LWIN (91)
右徽標鍵:VK_RWIN (92)
滑鼠右鍵快捷鍵:VK_APPS (93)
Insert鍵:VK_INSERT (45)
Home鍵:VK_HOME (36)
Page Up:VK_PRIOR (33)
PageDown:VK_NEXT (34)
End鍵:VK_END (35)
Delete鍵:VK_DELETE (46)
方向鍵(←):VK_LEFT (37)
方向鍵(↑):VK_UP (38)
方向鍵(→):VK_RIGHT (39)
方向鍵(↓):VK_DOWN (40)
F1鍵:VK_F1 (112)
F2鍵:VK_F2 (113)
F3鍵:VK_F3 (114)
F4鍵:VK_F4 (115)
F5鍵:VK_F5 (116)
F6鍵:VK_F6 (117)
F7鍵:VK_F7 (118)
F8鍵:VK_F8 (119)
F9鍵:VK_F9 (120)
F10鍵:VK_F10 (121)
F11鍵:VK_F11 (122)
F12鍵:VK_F12 (123)
Num Lock鍵:VK_NUMLOCK (144)
小鍵盤0:VK_NUMPAD0 (96)
小鍵盤1:VK_NUMPAD1 (97)
小鍵盤2:VK_NUMPAD2 (98)
小鍵盤3:VK_NUMPAD3 (99)
小鍵盤4:VK_NUMPAD4 (100)
小鍵盤5:VK_NUMPAD5 (101)
小鍵盤6:VK_NUMPAD6 (102)
小鍵盤7:VK_NUMPAD7 (103)
小鍵盤8:VK_NUMPAD8 (104)
小鍵盤9:VK_NUMPAD9 (105)
小鍵盤。:VK_DECIMAL (110)
小鍵盤*:VK_MULTIPLY (106)
小鍵盤+:VK_ADD (107)
小鍵盤-:VK_SUBTRACT (109)
小鍵盤/:VK_DIVIDE (111)
Pause Break鍵:VK_PAUSE (19)
Scroll Lock鍵:VK_SCROLL (145)
10.常用的Shift 和Ctrl 和Alt 組合按鍵
"+" ----------------------------> 按Shift
"^" ---------------------------->按Ctrl
"%" ----------------------------> 按Alt
"^s" ----------------------------> 按Ctrl+S進行儲存的操作
試試:
#引入鍵盤操作
from pywinauto.keyboard import send_keys
#傳送鍵盤指令
send_keys("+a")
效果: