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 Files\Windows NT\Accessories\wordpad.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也已經有大半年沒發新版了。。。

  最后,我還是那個觀點,做界面自動化要根據實際情況,對於常年不變的界面有較大用處,如果界面經常變化就要靈活變通測試方式了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM