Skip to content

Instantly share code, notes, and snippets.

@diyan
Last active December 4, 2023 14:48
Show Gist options
  • Star 58 You must be signed in to star a gist
  • Fork 13 You must be signed in to fork a gist
  • Save diyan/f3c24653e63c24c99137 to your computer and use it in GitHub Desktop.
Save diyan/f3c24653e63c24c99137 to your computer and use it in GitHub Desktop.
Desktop GUI automation in Python

Desktop

UI Automation. Desktop. Python

GUI toolkit agnostic

autopy - simple, cross-platform GUI automation toolkit. MIT - https://github.com/msanders/autopy/

  • 432 stars, 102 forks, 2950 monthly downloads at 2015-05-13
  • GUI toolkit agnostic
  • allows you to move mouse, take screenshots, show alerts, search for bitmaps on-screen

AutoPy - http://www.autopy.org/

AutoPy API reference - http://www.autopy.org/documentation/api-reference/

AutoPy introduction and tutorial - https://github.com/msanders/autopy/#readme

autopy3 - fork of autopy to support Python 3 - https://github.com/Riamse/autopy3

pyautogui - cross-platform GUI automation toolkit. BSD - https://github.com/asweigart/pyautogui

  • 141 stars, 21 forks, 3501 monthly downloads at 2015-03-13
  • GUI toolkit agnostic
  • allows you to move mouse, take screenshots, show alerts, search for bitmaps on-screen

GUI toolkit aware

About LDTP

  • LDTP is a family of cross platform GUI testing tools that works on Windows, Linux, Mac, Solaris, FreeBSD, NetBSD
  • Windows version works with .NET, C++, Java and Qt apps
  • Linux version works with Gnome, Qt 4.8+, Java Swing, LibreOffice, Mozilla apps
  • Mac version work with ?
  • Test scripts can be in Python, Ruby, Java, C#, VB.NET, PowerShell, Clojure, Perl

cobra-winldtp - Cobra Windows version of Linux Desktop Testing Project. MIT - https://github.com/ldtp/cobra

  • project on Google Code is obsolete, use GitHub version
  • last commit on 2014-10-30 at Google Code, 2015-02-06 at GitHub
  • last version is 4.0.0 released at 2013-11-13
  • can not be installed with pip, MSI must be used

ldtp wiki - http://ldtp.freedesktop.org/wiki/

pywinauto - Windows GUI automation toolkit. LGPL - https://code.google.com/p/pywinauto/

  • 188 stars, 432 monthly downloads at 2015-05-13
  • deps: pywin32

pywinauto-64 - pywinauto fork that supports 64/32-bit Python from 2.6 to 3.4. LGPL - https://github.com/vasily-v-ryabov/pywinauto-64

  • 9 stars, 7 forks at 2015-05-13
  • last commit on 2015-04-29

obsolete. pywinauto-64bit - another fork of pywinauto - https://github.com/mpaf/pywinauto-64bit

  • 7 stars, 3 forks at 2015-05-13
  • last commit on 2014-03-07
  • pywinauto-64 or vanilla pywinauto should be used instead of this fork

swapy - GUI automation helper to be used with pywinauto - https://code.google.com/p/swapy/

Pyautoscan - CLI automatation for Ninite, ESET, Malwarebytes, Spybot using pywinauto. MIT - https://github.com/juszczakn/Pyautoscan

pywinauto - automatically expored from Google Code - https://github.com/LogicalKnight/pywinauto , https://github.com/coandco/pywinauto

windows_lettuce_pywinauto - BDD UI Automaton skeleton, using lettuce and pywinauto - https://github.com/johnstoj/windows_lettuce_pywinauto

obsolete. pywinauto-x64 - https://code.google.com/r/vasilyvryabov-pywinauto-x64/

UISoup - GUI automation toolkit for Windows/Mac. Apache - https://github.com/F1ashhimself/UISoup

  • 6 stars, 5 forks, 1098 monthly downloads at 2015-05-13
  • last commit on 2015-04-15
  • deps: comtypes (pure python)

ui_navigate - UI navigation for automation. PSF - https://pypi.python.org/pypi/ui_navigate/1.0.2

  • 0 stars, 4 forks, 1306 monthly downloads at 2015-05-13
  • incomplete or just generic tree library?

AXUI - GUI automation toolkit. Apache - https://github.com/xcgspring/AXUI

  • 8 stars, 1 fork, 943 monthly downloads at 2015-05-13
  • drivers: Windows UIA, Selenium, Appium (iOS and Android)
  • python 3 compatible
  • deps: ply, pyxb, pillow
@vasily-v-ryabov
Copy link

pywinauto has been officially moved to GitHub: http://pywinauto.github.io/
repo: https://github.com/pywinauto/pywinauto

@diyan
Copy link
Author

diyan commented Oct 11, 2017

@vasily-v-ryabov Thank you. I will update this Gist

@eino-makitalo
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment