如何透過 Python 直接使用 AutoIt

之前有簡單介紹過 AutoIt (參考:AutoIt 工具介紹AutoIt 使用方法 ),AutoIt 也可以透過 AutoItX 讓其他程式語言整合 AutoIt 的功能。
以 Python 來說,可以透過 pywin32 來操控 AutoItX API。

1.先到官網完整安裝 autoit
2.下載 pywin32
3.使用範例 :

# -*- coding: utf-8 -*-
import win32com.client

autoit = win32com.client.Dispatch("AutoItX3.Control")
autoit.Run("calc.exe")
autoit.Sleep(1000)
autoit.ControlClick(u"小算盤", "", 131)
autoit.ControlClick(u"小算盤", "", 93)
autoit.ControlClick(u"小算盤", "", 131)
autoit.ControlClick(u"小算盤", "", "[CLASS:Button; INSTANCE:28]")

使用 AutoItX 可以參考 AutoItX Help(開始 -> AutoIt V3 -> Extras -> AutoItX Help),因為有些 function 在 AutoIt V3/AutoItX 兩邊有不同的做法,或是 AutoItX 不支援。

雖然透過 Python 來使用 AutoIt 可以讓我們很方便地去產生 Test report,或是有些東西可以直接透過 python 來做,但是也有可能遇到以下風險:

  • 都是透過 python 去 call AutoIt,那如果 AutoIt 裡面有錯誤,我們要追問題就有點困難。
  • pywin32 最後 update 的時間是 2012-10-29,中間 AutoIt 若是有模組變動,但 pyWin32 沒有跟著  update 的話,可能就會發生實際 call 的跟我們想像的會對不上。

所以如果要透過 Python 來使用 AutoIt 的話可能也得再評估看看。

參考網址:
AutoItX DLL/COM Control
Calling autoit functions in Python

廣告

2 thoughts on “如何透過 Python 直接使用 AutoIt

    1. 謝謝你的資訊,我們會找時間玩玩看 : )

      我們後來的方向是遵循 Appium 的模式,實作一個 WinAppDriver,這樣就可以用各式的程式語言去操作 Windows app。

      歡迎參考我們的投影片:http://www.slideshare.net/jeremykao92/winappdriver-development

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s