zoukankan      html  css  js  c++  java
  • pywinauto简单操作写字板的例子

      前段时间写了做web程序界面自动化的简单例子,今天写一下windows gui程序界面自动化测例子吧。

      ps.咱中国人YinKaisheng封装的UIAutomation库也很好用,https://github.com/yinkaisheng/Python-UIAutomation-for-Windows

    def openwordpad():
        app = application.Application()
        wordpad=app.start(r"C:Program FilesWindows NTAccessorieswordpad.exe")    
        wordpad.wordpadclass.RICHEDIT50W.TypeKeys("hello world it is good to see you here!".replace(' ','{SPACE}' )) 
        time.sleep(1)    
        #右键-复制一段文字-粘贴
        wordpad.wordpadclass.RICHEDIT50W.TypeKeys('^a')
        time.sleep(1)
        wordpad.wordpadclass.RICHEDIT50W.RightClickInput(coords=(500, 100))
        time.sleep(1)
        wordpad.wordpadclass.RICHEDIT50W.ClickInput(coords=(550, 150))
        #复制粘贴多次
        for i in range(2):
            wordpad.wordpadclass.RICHEDIT50W.RightClickInput(coords=(500, 300))
            time.sleep(1)
            wordpad.wordpadclass.RICHEDIT50W.ClickInput(coords=(550, 370))    
        #找到保存菜单 按alt键
        #还是用快捷键保存吧。。。
        wordpad.wordpadclass.RICHEDIT50W.TypeKeys('^s')
        save_dlg= app.window_(title_re = u"保存为", class_name = "#32770")
        save_dlg.edit.TypeKeys(u"c:\testwordpad")
        wordpad[u'保存为'][u'保存(S)'].SetFocus()
        wordpad[u'保存为'][u'保存(S)'].Click()
        wordpad.wordpadclass.TypeKeys('%{F4}')
    

      pywinauto用法还是比较简单的,网上也有不少介绍了。不过pywinauto对右键菜单识别并不好,所以不得已只能靠操作移动光标到指定坐标的方法来点击右键,这样兼容性就很差了。在官方的todolist中有这么一项

    Make it easy to work with context(right click) menu

      不过pywinauto也已经有大半年没发新版了。。。

      最后,我还是那个观点,做界面自动化要根据实际情况,对于常年不变的界面有较大用处,如果界面经常变化就要灵活变通测试方式了。

  • 相关阅读:
    特性标签的灵活使用
    算法实例题
    网络抓包工具
    vs2010
    .NET Remoting vs Web Service
    电子商务网站设计学习
    EXCEL导出
    C# 16进制与字符串、字节数组之间的转换
    DES加密
    DataGridView生成CSV,XML 和 EXCEL文件
  • 原文地址:https://www.cnblogs.com/idbeta/p/5708606.html
Copyright © 2011-2022 走看看