zoukankan      html  css  js  c++  java
  • 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("我的第一个输入 哈哈
    ",with_spaces=True,with_newlines=True)#with_spaces空格不减
    app[chuangkou].Edit.type_keys("可喜可贺 哈哈
    ",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("我的第一个输入 哈哈
    ",with_spaces=True,with_newlines=True)#with_spaces空格不减
    app[chuangkou].Edit.type_keys("可喜可贺 哈哈
    ",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("我的第一个输入 哈哈
    ",with_spaces=True,with_newlines=True)#with_spaces空格不减
    app[chuangkou].Edit.type_keys("可喜可贺 哈哈
    ",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")

    效果:

  • 相关阅读:
    新一代MQ apache pulsar的架构与核心概念
    Flutter使用fluwx实现微信分享
    BZOJ3622 已经没有什么好害怕的了 动态规划 容斥原理 组合数学
    NOIP2016提高组Day1T2 天天爱跑步 树链剖分 LCA 倍增 差分
    Codeforces 555C Case of Chocolate 其他
    NOIP2017提高组Day2T3 列队 洛谷P3960 线段树
    NOIP2017提高组Day2T2 宝藏 洛谷P3959 状压dp
    NOIP2017提高组Day1T3 逛公园 洛谷P3953 Tarjan 强连通缩点 SPFA 动态规划 最短路 拓扑序
    Codeforces 873F Forbidden Indices 字符串 SAM/(SA+单调栈)
    Codeforces 873E Awards For Contestants ST表
  • 原文地址:https://www.cnblogs.com/Mr-Simple001/p/10826896.html
Copyright © 2011-2022 走看看