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

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

  • 相关阅读:
    postgresql 2012 大会PPT下载 Joe
    Postgresql连接 Joe
    查看Postgresql的连接数 Joe
    greta使用
    CString GetFileDir(const CString& csFile)
    UnicodeToAnsi函数
    myeclipse优化方案
    bool CreatedMultipleDirectory( char* direct)
    LPWSTR GBK(LPCSTR plszUtf8, WCHAR* lpszGBK)
    真正整合资源的高手
  • 原文地址:https://www.cnblogs.com/idbeta/p/5708606.html
Copyright © 2011-2022 走看看