PC客户端自动化测试工具--pywinauto

1.安装 pywinauto 

pip install pywinauto

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")

效果:

猜你喜欢

转载自www.cnblogs.com/Mr-Simple001/p/10826896.html