@ -0,0 +1,18 @@
|
|||||||
|
Dear RPA-tors. Let me congratulate you with great change in the RPA world. **The first enterprise level open source RPA platform is here!**
|
||||||
|
> The OpenRPA - free, fast and reliable
|
||||||
|
|
||||||
|
The **OpenRPA** is based on Python and using well known opensource solutions such as Selenium, OpenCV, Win32, UI automation and others. Thanks to it we were able to create consolidated platform with all possible features.
|
||||||
|
|
||||||
|
The **OpenRPA** is distributed under the MIT license which allows you to use it in any way you want and any time you need without any restrictions.
|
||||||
|
|
||||||
|
At the time of this writing the OpenRPA is successefully using in several big Russian companies. Companies in which it was decided to develop own RPA division with no dependencies on expensive licenses.
|
||||||
|
|
||||||
|
The **OpenRPA** consist of:
|
||||||
|
- WinPython 3.7.1 32-bit & 64-bit, license MIT (https://github.com/winpython/winpython)
|
||||||
|
- Selenium v..., license Apache 2.0
|
||||||
|
- pywinauto 0.6.5, license BSD 3-Clause (https://github.com/pywinauto/pywinauto)
|
||||||
|
- Semantic UI ..., license MIT (https://github.com/Semantic-Org/Semantic-UI)
|
||||||
|
- PyAutoGUI ..., license BSD 3-Clause (https://github.com/asweigart/pyautogui)
|
||||||
|
- keyboard ..., license MIT (https://github.com/boppreh/keyboard)
|
||||||
|
- OpenCV ...
|
||||||
|
- pywin32
|
@ -0,0 +1,41 @@
|
|||||||
|
Here you can find information about the OpenRPA modules.
|
||||||
|
|
||||||
|
## The OpenRPA has 3 main tools:
|
||||||
|
- Studio
|
||||||
|
- Robot
|
||||||
|
- Orchestrator
|
||||||
|
## Description
|
||||||
|
`Studio`
|
||||||
|
___
|
||||||
|
Studio tool has been developed to help RPA-tors to create the robot algorythms.<br>
|
||||||
|
___
|
||||||
|
**Features**
|
||||||
|
- Run actions
|
||||||
|
- Create visual algorythms of the robot
|
||||||
|
- Desktop app: Analyze desktop app ui tree
|
||||||
|
- Desktop app: Search desktop app ui by mouse
|
||||||
|
- Desktop app: Generate & edit the UIO Selector
|
||||||
|
___
|
||||||
|
`Robot`
|
||||||
|
___
|
||||||
|
The Robot tool is the core of any action execution in OpenRPA. All action from algorythms are perfoming by the Robot tool. It looks like a console process without graphic user interface.
|
||||||
|
___
|
||||||
|
**Features**
|
||||||
|
- Based on Python (killer feature)
|
||||||
|
- Support Win32 GUI framework (desktop app)
|
||||||
|
- Support UI automation framework (desktop app)
|
||||||
|
- Support Selenium (web app)
|
||||||
|
- Support PyAutoGUI (screen capture & mouse)
|
||||||
|
- Support OpenCV (computer vision)
|
||||||
|
___
|
||||||
|
`Orchestrator`
|
||||||
|
___
|
||||||
|
The Orchestrator tool has been developed to maintain robot infrastructure (2+ robots algorythm).
|
||||||
|
___
|
||||||
|
**Features**
|
||||||
|
- Start/Stop robot algorythm
|
||||||
|
- Robot scheduler
|
||||||
|
- Remote machine screenshot viewer
|
||||||
|
- Remote machine cmd shell
|
||||||
|
- Remote machine logs storage
|
||||||
|
___
|
@ -0,0 +1,21 @@
|
|||||||
|
Are you ready to install the OpenRPA solution on your machine?<br>
|
||||||
|
|
||||||
|
Ok, we start. <br>
|
||||||
|
**Do the following operations:**
|
||||||
|
- Download the OpenRPA package from master branch on GitLab [Download ZIP](https://gitlab.com/UnicodeLabs/OpenRPA/-/archive/master/OpenRPA-master.zip)
|
||||||
|
- Unzip the package
|
||||||
|
|
||||||
|
**Installation has been completed :)**
|
||||||
|
|
||||||
|
## How to check installation
|
||||||
|
- Run portable python (built in the OpenRPA)
|
||||||
|
- x32 python (OpenRPA\Resources\WPy32-3720\python-3.7.2\python.exe)
|
||||||
|
- x64 python (OpenRPA\Resources\WPy64-3720\python-3.7.2.amd64\python.exe)
|
||||||
|
|
||||||
|
**The OpenRPA has been successfully installed if the portable python 3.7.2 was started without any exceptions (see screenshot).**
|
||||||
|
![image](uploads/cb5dec8cecafa7d64f6cd14b2672acce/image.png)
|
||||||
|
|
||||||
|
## System requirements
|
||||||
|
- OS Windows 7+
|
||||||
|
- Need Windows package KB2999226 if use windows Vista/7/8/8.1/Server 2008/Server 2012 [Download package](https://support.microsoft.com/ru-ru/help/2999226)
|
||||||
|
- For OpenCV: OS Windows 7/8/8/10 only (no Windows Server)
|
@ -0,0 +1,60 @@
|
|||||||
|
# Content
|
||||||
|
- [How to run](#how-to-run)
|
||||||
|
- [UI Description](#ui-description)
|
||||||
|
- [How to extract UI tree](#how-to-extract-ui-tree)
|
||||||
|
- [How to search UI object by mouse hover](#how-to-search-ui-object-by-mouse-hover)
|
||||||
|
- [How to extract UI object properties](#how-to-extract-ui-object-properties)
|
||||||
|
|
||||||
|
# How to run
|
||||||
|
- For OS x32
|
||||||
|
- Run (double click): OpenRPA\Studio\StudioRun_32.cmd (for OS x32)
|
||||||
|
- For OS x64
|
||||||
|
- Run (double click): OpenRPA\Studio\StudioRun_64.cmd (for OS x64)
|
||||||
|
- Wait text "running server" in console. Default browser will be open automatically
|
||||||
|
- **Attention!** The studio tool does not support the Internet explorer (any version) for GUI rendering (lol)
|
||||||
|
![image](uploads/504b98f76747f63900a2943532a946bb/image.png)
|
||||||
|
|
||||||
|
# UI Description
|
||||||
|
|
||||||
|
**The studio tool GUI contains of:**
|
||||||
|
- 1. UI tree viewer
|
||||||
|
- 2. Selected UI object hierarchy list
|
||||||
|
- 3. Selected UI object property list
|
||||||
|
- 4. UIO selector editor
|
||||||
|
- 5. UIO action panel
|
||||||
|
- 6. Another Python activity panel
|
||||||
|
- 7. Action/activity list
|
||||||
|
|
||||||
|
*Look it on the GUI screenshots are listed below*
|
||||||
|
|
||||||
|
## GUI Screenshot 1
|
||||||
|
![image](uploads/d3d6ad14a7e50843bd89d2b14a092fee/image.png)
|
||||||
|
|
||||||
|
## GUI Screenshot 2
|
||||||
|
![image](uploads/65b7d51c0a5b21e6b27dc23d4062d3ca/image.png)
|
||||||
|
|
||||||
|
# How to extract UI tree
|
||||||
|
In order to extract the UI tree do the following: in `UI tree viewer` choose the object you are interested and click the button "Expand".
|
||||||
|
## Action: Click the button "Expand"
|
||||||
|
![image](uploads/6effc376ff6ea928840674bd744caced/image.png)
|
||||||
|
## Result
|
||||||
|
![image](uploads/18b9ab36126c8c32168bf5bbb9330701/image.png)
|
||||||
|
# How to search UI object by mouse hover
|
||||||
|
In order to search UI object do the following: in `UI tree viewer` choose the parent object, where you are want to search UI object, and click the button "Mouse search". The mouse search mode will start. Turn mouse on the UI object you are interested and wait when the studio will highlight the UI object. After the hightlight hold the "Ctrl" key and wait 3 seconds. The interested UI object will be shown in `UI tree viewer`.
|
||||||
|
|
||||||
|
## Action: Click the button "Mouse search"
|
||||||
|
![image](uploads/84d7e4de0c840631f87cf7b325b53ad8/image.png)
|
||||||
|
|
||||||
|
## Action: Turn mouse on the UI object you are interested and hold the "Ctrl" key for 3 seconds
|
||||||
|
![image](uploads/b7c38d622bf5b7afa5b26d1686d7302a/image.png)
|
||||||
|
|
||||||
|
## Result: The interested UI object will be shown in `UI tree viewer`
|
||||||
|
![image](uploads/629bbf4db2c01b9c640194230949fcd2/image.png)
|
||||||
|
|
||||||
|
# How to extract UI object properties
|
||||||
|
In order to extract UI object properties do the following: in `Selected UI object hierarchy list` choose the UI object you are interested and click it. The UI object property list will be shown in `Selected UI object property list`
|
||||||
|
## Action: Choose the UI object you are interested and click it
|
||||||
|
![image](uploads/2c27be5bdde20b5d062cbb40e74eaec5/image.png)
|
||||||
|
|
||||||
|
## Result: The UI object property list will be shown in `Selected UI object property list`
|
||||||
|
![image](uploads/f235ae29099a713e0246cd574ac3a17c/image.png)
|
@ -0,0 +1,67 @@
|
|||||||
|
# Content
|
||||||
|
- [About](#about)
|
||||||
|
- [How to use](#how-to-use)
|
||||||
|
- [Create python script](#create-python-script)
|
||||||
|
- [Execute python script](#execute-python-script)
|
||||||
|
|
||||||
|
# About
|
||||||
|
The Robot tool is the main module for production process automation. It has no graphic/console interface. All low-level actions to OS are perfoming by the Robot tool in OpenRPA.
|
||||||
|
|
||||||
|
# How to use
|
||||||
|
You can use the robot by the several ways:
|
||||||
|
- In Python script
|
||||||
|
- In Studio script (n/a)
|
||||||
|
|
||||||
|
|
||||||
|
## Create python script
|
||||||
|
In order to use robot just add Robot tool folder in work directory and add line "import GUI" in your script.
|
||||||
|
### Example
|
||||||
|
> import sys <br>
|
||||||
|
> sys.path.append('../../')<br>
|
||||||
|
> import selenium [#Web app access](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.1.-Theory-&-practice:-Web-app-access-(Chrome,-Firefox,-Opera))<br>
|
||||||
|
> import GUI [#Win32 & UI Automation access](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.2.-Theory-&-practice:-Desktop-app-UI-access-(win32-and-UI-automation-dlls)) <br>
|
||||||
|
> import pyautogui [#Screen capture/recognition](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&-practice:-Screen-capture-&-image-recognition) [#Mouse manipulation](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&-practice:-Keyboard-&-mouse-manipulation)<br>
|
||||||
|
> import cv2 [#Computer vision](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&-practice:-Screen-capture-&-image-recognition)<br>
|
||||||
|
> import keyboard [#Keyboard manipulation](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&-practice:-Keyboard-&-mouse-manipulation)<br>
|
||||||
|
|
||||||
|
## Execute python script
|
||||||
|
The OpenRPA is fully portable solution. It contains own python enviroment both 32 and 64 bit versions. So, you can execute your python script in several ways:
|
||||||
|
- Execute in python x32 (\OpenRPA\Resources\WPy32-3720\python-3.7.2)
|
||||||
|
- Execute in python x64 (\OpenRPA\Resources\WPy64-3720\python-3.7.2.amd64)
|
||||||
|
- Execute from .cmd file
|
||||||
|
|
||||||
|
### Execute in the Python x32
|
||||||
|
To execute your python script in x32 bit version just write in command line from x32 python directory: <br>
|
||||||
|
> cd "\OpenRPA\Resources\WPy32-3720\python-3.7.2"<br>
|
||||||
|
> python.exe "path to your python script.py"<br>
|
||||||
|
|
||||||
|
### Execute in the Python x64
|
||||||
|
To execute your python script in x32 bit version just write in command line from x32 python directory: <br>
|
||||||
|
> cd "\OpenRPA\Resources\WPy64-3720\python-3.7.2.amd64"<br>
|
||||||
|
> python.exe "path to your python script.py"<br>
|
||||||
|
|
||||||
|
### Execute from .cmd file
|
||||||
|
In order to simplify the execution process you can write several code lines in file with the .cmd extansion: <br>
|
||||||
|
> cd %~dp0
|
||||||
|
> copy /Y ..\Resources\WPy32-3720\python-3.7.2\python.exe ..\Resources\WPy32-3720\python-3.7.2\OpenRPAOrchestrator.exe
|
||||||
|
> .\..\Resources\WPy32-3720\python-3.7.2\OpenRPAOrchestrator.exe orchestratorMain.py
|
||||||
|
> pause >nul
|
||||||
|
|
||||||
|
## Use in studio script (n/a)
|
||||||
|
|
||||||
|
> import sys <br>
|
||||||
|
> sys.path.append('../../')<br>
|
||||||
|
> import GUI<br>
|
||||||
|
> import keyboard<br>
|
||||||
|
> import subprocess<br>
|
||||||
|
> import time<br>
|
||||||
|
>
|
||||||
|
> #Highlight the UI Object in Folder explorer<br>
|
||||||
|
> GUI.UIOSelector_FocusHighlight([{"class_name":"CabinetWClass","backend":"uia"},{"ctrl_index":2},{"ctrl_index":0},{"ctrl_index":2},{"ctrl_index":0}])<br>
|
||||||
|
>
|
||||||
|
>#Wait 2 seconds<br>
|
||||||
|
>time.sleep(3)<br>
|
||||||
|
>
|
||||||
|
>#Loop: get child element of UI List<br>
|
||||||
|
>for lItem in GUI.UIOSelector_Get_UIO([{"class_name":"CabinetWClass","backend":"uia"},{"ctrl_index":2},{"ctrl_index":0},{"ctrl_index":2},{"ctrl_index":0}]).children():<br>
|
||||||
|
> print(str(lItem))<br>
|
@ -0,0 +1,22 @@
|
|||||||
|
# Content
|
||||||
|
- About
|
||||||
|
- How to use
|
||||||
|
|
||||||
|
# About
|
||||||
|
The OpenRPA support web app manipulation (by the Selenium lib).
|
||||||
|
More docs about selenium you can find [here](https://selenium-python.readthedocs.io/)
|
||||||
|
|
||||||
|
# How to use
|
||||||
|
To start use selenium just import selenium modules in [the robot tool](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/04.2.-Tool-Robot:-How-to-use). Here is the example of the usage.
|
||||||
|
> from selenium import webdriver <br>
|
||||||
|
> from selenium.webdriver.common.keys import Keys <br>
|
||||||
|
> <br>
|
||||||
|
> driver = webdriver.Chrome() <br>
|
||||||
|
> driver.get("http://www.python.org") <br>
|
||||||
|
> assert "Python" in driver.title <br>
|
||||||
|
> elem = driver.find_element_by_name("q") <br>
|
||||||
|
> elem.clear() <br>
|
||||||
|
> elem.send_keys("pycon") <br>
|
||||||
|
> elem.send_keys(Keys.RETURN) <br>
|
||||||
|
> assert "No results found." not in driver.page_source <br>
|
||||||
|
> driver.close() <br>
|
@ -0,0 +1 @@
|
|||||||
|
**How to automate Keyboard and Mouse device in PC**
|
@ -0,0 +1,7 @@
|
|||||||
|
**How to automate image recognition on PC**
|
||||||
|
|
||||||
|
Here you can find any ways you need to use in your business case:
|
||||||
|
* Find the exact match on the screen with the other image
|
||||||
|
* Use text recognition module (OCR)
|
||||||
|
* Use computer vision (CV) to identify the objects on screen/image/video
|
||||||
|
* Use artificial intelligence (AI) to make custom identification/classification/text recognition
|
After Width: | Height: | Size: 770 B |
After Width: | Height: | Size: 225 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 2.0 KiB |
@ -0,0 +1,17 @@
|
|||||||
|
# The OpenRPA Wiki
|
||||||
|
Dear friend! <br>
|
||||||
|
Welcome to the OpenRPA wiki portal. Here you can find theory & practical docs to work with first Open Source RPA platform.
|
||||||
|
|
||||||
|
## Content
|
||||||
|
In wiki you can find:
|
||||||
|
- [About OpenRPA, library dependencies and licensing](01.-About-OpenRPA,-library-dependencies-and-licensing.md)
|
||||||
|
- [Architecture (Studio, Robot, Orchestrator)](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/02.-Architecture-(Studio,-Robot,-Orchestrator))
|
||||||
|
- [How to install (system requirements)](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/03.-How-to-install-(system-requirements))
|
||||||
|
- [Tool Studio: How to use](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/04.1.-Tool-Studio.-How-to-use)
|
||||||
|
- [Tool Robot: How to use](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/04.2.-Tool-Robot.-How-to-use)
|
||||||
|
- Tool Orchestrator: How to use
|
||||||
|
- [Theory & practice: Web app access (Chrome, Firefox, Opera)](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.1.-Theory-&-practice.-Web-app-access-(Chrome,-Firefox,-Opera))
|
||||||
|
- [Theory & practice: Desktop app UI access (win32 and UI automation dlls)](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.2.-Theory-&-practice.-Desktop-app-UI-access-(win32-and-UI-automation-dlls))
|
||||||
|
- Theory & practice: Keyboard & mouse manipulation
|
||||||
|
- Theory & practice: Screen capture & image recognition
|
||||||
|
|
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 1.1 MiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 116 KiB |
After Width: | Height: | Size: 105 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 68 KiB |
After Width: | Height: | Size: 218 KiB |
After Width: | Height: | Size: 238 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 186 KiB |
After Width: | Height: | Size: 15 KiB |