Skip to content
discovers GUI elements
Python
Latest commit 2b25e58 May 10, 2016 ponty doc
Failed to load latest commit information.
discogui examples: py3 print() May 6, 2016
docs doc May 10, 2016
tests refactor test May 5, 2016
.coveragerc travis May 6, 2016
.gitignore travis May 6, 2016
.travis.yml travis: fix pymouse install May 6, 2016
LICENSE.txt start Feb 23, 2011
MANIFEST.in fix MANIFEST Feb 16, 2013
README.rst doc May 6, 2016
TODO start Feb 23, 2011
Vagrantfile vagrant May 6, 2016
pavement.py pavement May 6, 2016
requirements-doc.txt req May 6, 2016
requirements-test.txt req May 6, 2016
requirements.txt remove PIL requirement Dec 4, 2012
setup.py fix py versions in setup.py May 6, 2016
tox.ini fix tox May 5, 2016

README.rst

discogui discovers GUI elements

Links:

Travis Coveralls Latest Version Supported Python versions License Downloads Code Health Documentation

Features:
  • python module
  • works on Linux
  • does not depend on Accessibility technologies
  • toolkit independent
  • only basic tests on very simple GUI
  • GUI should be displayed on Xvfb or Xephyr
  • slow
Known problems:
  • Python 3 is not supported
Possible applications:
  • GUI unit-testing
  • automatic GUI control

Basic usage

from discogui.buttons import discover_buttons
from easyprocess import EasyProcess
from pyvirtualdisplay import Display
with Display():
    with EasyProcess('zenity --question') as p:
        p.sleep(1)
        buttons = discover_buttons()
print buttons

Installation

General

  • install Xvfb and Xephyr

  • install Xlib

  • install scrot

  • install PIL

  • install xdotool

  • install pip

  • install latest PyMouse and the program:

    # as root
    pip install https://github.com/pepijndevos/PyMouse/zipball/master
    pip install discogui
    

Ubuntu 14.04

sudo apt-get install python-pip xvfb python-xlib scrot python-pil xdotool
sudo pip install https://github.com/pepijndevos/PyMouse/zipball/master
sudo pip install discogui

Uninstall

# as root
pip uninstall discogui
Something went wrong with that request. Please try again.