Skip to main content

A Simplified UI automation package

Project description

Introduction

autoinsight is a UI automation library for window. It is aim to provide simplified workflow to the automation developers to help them create an easy to maintain and robust test scripts.

It is focus on Windows in the recent releases. It will be migrate to Linux in the future.

Contribute to this project

Requirements

  • OS Window

  • Python 3.10+ 32/64 bit

  • Install Google Tesseract 32/64 bit tesseract wiki

    Add tesseract.exe into the system environment variable PATH

  • Install pywin32 pywin32 release

Installation

  • Install with pip
$ pip install autoinsight

Quick demo

from autoinsight import Button, WindowOS

def demo():
    camera = WindowOS().launchApp("camera")
    camera.setCurrent()
    Button("take photo").click()
    camera.close()

if __name__ == '__main__':
    demo()

Configuration

Development

Setup development environment

  • Setup
$ pip install -r requirements-dev.txt
  • Install Google Tesseract OCR

https://tesseract-ocr.github.io/tessdoc/Installation.html

Windows prebuilt package https://github.com/UB-Mannheim/tesseract/wiki

  • Run all test
$ nose2
  • validate code syntax before commit
$ flake8

Build

  • Install the build dependency
$ python -m pip install --upgrade pip
$ python -m pip install -r requirements-dev.txt
$ python -m build

Test

  • Run unit test on local machine before push to the repository
$ nose2
  • Create a new test module with add the init.py to a new folder under the ./tests
  • Name the test file with test_*.py
  • Make sure each test case inherit from the unittest.TestCase
  • Test

Document and Help

  • Follow syntax of the Sphinx project

Roadmap

  • 0.0.1 [Current version 0.0.8]

    1. Init the project
  • 1.0.0

    1. Basic windows UI automation features

    2. Basic image based identification features

    3. Keyboard mouse handling etc.

    4. In the first version it will be built like a glue to the existing automation libraries like pywinauto, pyautogui etc.

    5. Action logging

    6. Snapshot

    7. Screen recording

    8. Support Google Chrome and Microsoft Edge interoperation

    9. OS interoperation

    10. Driver interoperation

    11. Integrate with image identification and computer vision

  • 2.0.0

    1. Integrate with machine learning identification
    2. Integrate other browsers
    3. Add mobile support
    4. Integrate with cloud ML APIs
  • 3.0.0

    1. Support NLP script
    2. Add GUI
  • 4.0.0

    1. Support record and replay
  • 5.0.0

    1. Support game automation

Copyrights

Apache Software License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autoinsight-0.1.0.tar.gz (43.2 kB view details)

Uploaded Source

Built Distribution

autoinsight-0.1.0-py3-none-any.whl (73.8 kB view details)

Uploaded Python 3

File details

Details for the file autoinsight-0.1.0.tar.gz.

File metadata

  • Download URL: autoinsight-0.1.0.tar.gz
  • Upload date:
  • Size: 43.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for autoinsight-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a0df98e366b72d53298ab0a846efdf9d7d0292e2990226e07cf1d77fbb061438
MD5 354ab8c230712962721a3d9ed9e483a4
BLAKE2b-256 9b3965d1f949d7218af9ab68367df2f4fc8ac92554a0278f23011a19e0039f79

See more details on using hashes here.

File details

Details for the file autoinsight-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: autoinsight-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 73.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for autoinsight-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8ed9cc778822edcbe2b073b06619b53fe8ed1bd1237f6d9c54917c1a8353166
MD5 201f6fa618a005d4c5961ea6757dbc21
BLAKE2b-256 b4a852c0968247b2f3b298652920abd7b03fb711535d9ce88dbab340678ebb45

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page