Skip to content

An AI enhanced automation framework for helping development cross platform and cross browser automation tasks.

License

Notifications You must be signed in to change notification settings

shangerxin/autoinsight

Repository files navigation

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
  • 6.0.0

    1. Integrate with other AI solutions

Copyrights

Apache Software License

About

An AI enhanced automation framework for helping development cross platform and cross browser automation tasks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published