1. 程式人生 > 實用技巧 >【自動化測試】PC端自動化(一)

【自動化測試】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")

效果: