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也已经有大半年没发新版了。。。

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

  • 相关阅读:
    57-java 开发环境配置,mysql解压版安装
    56-MyBatis关联映射之一对多映射
    55-mybatis dao 和 映射xml
    54-jquery发送请求 json 转化等
    58-wxPython 嵌入html页面
    57-2015-第六届蓝桥杯国赛 java B组真题与解析
    【读书笔记】Effective Modern Cpp(二)
    【读书笔记】Effective Modern Cpp(一)
    【剑指offer】汇总
    【剑指offer】序列化二叉树
  • 原文地址:https://www.cnblogs.com/idbeta/p/5708606.html
Copyright © 2011-2022 走看看