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

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

  • 相关阅读:
    hive 之start hiveServer2 ,thriftServer失败
    sqoop 导入mysql中表存在联合主键
    hive metastore Server 出现异常
    hiveF 函数解析时间问题
    hive 动态分区数设置
    sqoop 操作从hdfs 导入到mysql中语句
    hive 锁表问题
    在hive中直接对timestamp类型取max报错
    Qt程序crash信息的捕捉与跟踪(转)
    功能快捷键如注释、声明和实现之间切换(转)
  • 原文地址:https://www.cnblogs.com/idbeta/p/5708606.html
Copyright © 2011-2022 走看看