# Try Wiki in main gitlab repo

dev-linux
Ivan Maslov 4 years ago
parent 110383145b
commit 21cbb491e1

@ -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>
> &nbsp; &nbsp; &nbsp; &nbsp; 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,250 @@
Here you can find the docs and examples of the OpenRPA desktop app access.
# Definitions
**UIO** - UI Object (class of pywinauto UI object) [pywinauto.base_wrapper]<br>
**UIOSelector** - List of dict (key attributes)<br>
**PWA** - PyWinAuto<br>
**PWASpecification** - List of dict (key attributes in pywinauto.find_window notation)<br>
**UIOTree** - Recursive Dict of Dict ... (UI Parent -> Child hierarchy)<br>
**UIOInfo** - Dict of UIO attributes<br>
**UIOActivity** - Activity of the UIO (UI object) from the Pywinauto module<br>
**UIOEI** - UI Object info object
# UIOSelector structure & examples
**Desciption**<br>
[<br>
&nbsp; &nbsp; {<br>
&nbsp; &nbsp; &nbsp; &nbsp; "index" - index of the UI element in parent child list,<br>
&nbsp; &nbsp; &nbsp; &nbsp; "depth_start" - глубина, с которой начинается поиск (по умолчанию 1),<br>
&nbsp; &nbsp; &nbsp; &nbsp; "depth_end" - глубина, до которой ведется поиск (по умолчанию 1),<br>
&nbsp; &nbsp; &nbsp; &nbsp; "class_name" - наименование класса, который требуется искать,<br>
&nbsp; &nbsp; &nbsp; &nbsp; "title" - наименование заголовка,<br>
&nbsp; &nbsp; &nbsp; &nbsp; "rich_text" - наименование rich_text,<br>
&nbsp; &nbsp; &nbsp; &nbsp; "backend": <"win32"||"uia", only for the 1-st list element> - if not specified, use mDefaultPywinautoBackend<br>
&nbsp; &nbsp; &nbsp; &nbsp; "is_enabled": <bool> - признак, что элемент доступен для выполнения действий,<br>
&nbsp; &nbsp; &nbsp; &nbsp; "is_visible": <bool> - признак, что элемент отображается на экране,<br>
&nbsp; &nbsp; },<br>
&nbsp; &nbsp; { ... }<br>
]<br>
**Example**
> [{"title":"Настройка периода","class_name":"V8NewLocalFrameBaseWnd","backend":"uia"},{"ctrl_index":0},{"ctrl_index":0},{"ctrl_index":5}]
# The UIDesktop module (OpenRPA/Robot/UIDesktop.py)
The UIDesktop is extension of the pywinauto module which provide access to the desktop apps by the **win32** and **ui automation** dll frameworks (big thx to the Microsoft :) ).
## Functions
*Naming convention: \<InArgument\>\_\<ActivityName\>\_\<OutArgument - if exist>*<br>
### List
- [UIOSelector_Get_UIOList](#UIOSelector_Get_UIOList)
- [UIOSelector_Get_UIO](#UIOSelector_Get_UIO)
- [UIOSelector_Exist_Bool](#UIOSelector_Exist_Bool)
- [UIOSelectorsSecs_WaitAppear_List](#UIOSelectorsSecs_WaitAppear_List)
- [UIOSelectorsSecs_WaitDisappear_List](#UIOSelectorsSecs_WaitDisappear_List)
- [UIOSelectorSecs_WaitAppear_Bool](#UIOSelectorSecs_WaitAppear_Bool)
- [UIOSelectorSecs_WaitDisappear_Bool](#UIOSelectorSecs_WaitDisappear_Bool)
- [UIOSelector_Get_BitnessInt](#UIOSelector_Get_BitnessInt)
- [UIOSelector_SearchChildByMouse_UIO](#UIOSelector_SearchChildByMouse_UIO)
- [UIOSelector_SearchChildByMouse_UIOTree](#UIOSelector_SearchChildByMouse_UIOTree)
- [UIOSelector_Get_UIOInfoList](#UIOSelector_Get_UIOInfoList)
- [UIOSelector_IsExist_Bool](#UIOSelector_IsExist_Bool)
- [UIOSelector_WaitAppear_Dict](#UIOSelector_WaitAppear_Dict)
- [UIOSelector_TryRestore_Dict](#UIOSelector_TryRestore_Dict)
- [UIOSelector_Get_UIOActivityList](#UIOSelector_Get_UIOActivityList)
- [UIOSelectorUIOActivity_Run_Dict](#UIOSelectorUIOActivity_Run_Dict)
- [UIOSelector_Get_UIOInfo](#UIOSelector_Get_UIOInfo)
- [UIOSelector_GetChildList_UIOList](#UIOSelector_GetChildList_UIOList)
- [UIOSelector_SearchUIONormalize_UIOSelector](#UIOSelector_SearchUIONormalize_UIOSelector)
- [UIOSelector_SearchProcessNormalize_UIOSelector](#UIOSelector_SearchProcessNormalize_UIOSelector)
- [UIOSelector_FocusHighlight](#UIOSelector_FocusHighlight)
- [UIOSelector_Highlight](#UIOSelector_Highlight)
### Description
**`UIOSelector_Get_UIOList (inSpecificationList,inElement=None,inFlagRaiseException=True)`**<br>
<a name="UIOSelector_Get_UIOList"></a>
___
Get list of the UIO<br>
___
**inSpecificationList** - UIOSelector - List of dict (key attributes)<br>
**inElement** - UIO pywinauto Входной элемент - показатель, что не требуется выполнять коннект к процессу<br>
**inFlagRaiseException** - Флаг True - выкинуть ошибку в случае обнаружении пустого списка<br>
___
**`UIOSelector_Get_UIO (inSpecificationList,inElement=None,inFlagRaiseException=True)`**<br>
<a name="UIOSelector_Get_UIO"></a>
___
Get first (if more than one UIO are applied) UIO (UI Object) <br>
___
**inSpecificationList** - UIOSelector <br>
**inElement** - Входной элемент - показатель, что не требуется выполнять коннект к процессу <br>
**inFlagRaiseException** - Флаг True - выкинуть ошибку в случае обнаружении пустого списка <br>
___
**`UIOSelector_Exist_Bool (inSpecificationList)`**<br>
<a name="UIOSelector_Exist_Bool"></a>
___
Check if UIO exist (Identified by the UIOSelector) <br>
___
**inSpecificationList** - UIOSelector <br>
___
**`UIOSelectorsSecs_WaitAppear_List (inSpecificationListList,inWaitSecs,inFlagWaitAllInMoment=False)`**<br>
<a name="UIOSelectorsSecs_WaitAppear_List"></a>
___
Wait for UIO is appear (at least one of them or all at the same time). return: \[0,1,2\] - index of UIOSpecification, which is appear <br>
___
**inSpecificationListList** - !List! of the UIOSelector <br>
**inWaitSecs** - Время ожидания объекта в секундах <br>
**inFlagWaitAllInMoment** - доп. условие - ожидать появление всех UIOSelector одновременно <br>
___
**`UIOSelectorsSecs_WaitDisappear_List (inSpecificationListList,inWaitSecs,inFlagWaitAllInMoment=False)`**<br>
<a name="UIOSelectorsSecs_WaitDisappear_List"></a>
___
Wait for UIO is Disappear (at least one of them or all at the same time). return: \[0,1,2\] - index of UIOSpecification, which is Disappear <br>
___
**inSpecificationListList** - !List! of the UIOSelector <br>
**inWaitSecs** - Время ожидания пропажи объекта в секундах <br>
**inFlagWaitAllInMoment** - доп. условие - ожидать пропажу всех UIOSelector одновременно <br>
___
**`UIOSelectorSecs_WaitAppear_Bool (inSpecificationList,inWaitSecs)`**<br>
<a name="UIOSelectorSecs_WaitAppear_Bool"></a>
___
Wait for UIO is appear (at least one of them or all at the same time). return: Bool - True - UIO is appear. <br>
___
**inSpecificationList** - UIOSelector <br>
**inWaitSecs** - Время ожидания объекта в секундах <br>
___
**`UIOSelectorSecs_WaitDisappear_Bool (inSpecificationList,inWaitSecs)`**<br>
<a name="UIOSelectorSecs_WaitDisappear_Bool"></a>
___
Wait for UIO is disappear (at least one of them or all at the same time) . return: Bool - True - UIO is Disappear. <br>
___
**inSpecificationList** - UIOSelector<br>
**inWaitSecs** - Время ожидания пропажи объекта в секундах<br>
___
**`UIOSelector_Get_BitnessInt (inSpecificationList)`**<br>
<a name="UIOSelector_Get_BitnessInt"></a>
___
Get process bitness (32 or 64). return None (if Process not found), int 32, or int 64<br>
___
**inSpecificationList** - UIOSelector<br>
___
**`UIOSelector_SearchChildByMouse_UIO(inElementSpecification)`**<br>
<a name="UIOSelector_SearchChildByMouse_UIO"></a>
___
Run the search UIO by mouse hover event. result = pywinauto element wrapper instance or None <br>
___
**inElementSpecification** - UIOSelector (see description on the top of the document) <br>
___
**`UIOSelector_SearchChildByMouse_UIOTree(inElementSpecification)`**<br>
<a name="UIOSelector_SearchChildByMouse_UIOTree"></a>
___
Run the search UIO by mouse hover event. result = pywinauto element wrapper instance or None <br>
___
**inElementSpecification** - UIOSelector <br>
___
**`UIOSelector_Get_UIOInfoList (inSpecificationList,inElement=None)`**<br>
<a name="UIOSelector_Get_UIOInfoList"></a>
___
Получить список информационных объектов, который удовлетворяет условиям <br>
___
**inSpecificationList** - UIOSelector <br>
___
**`UIOSelector_IsExist_Bool (inSpecificationList)`**<br>
<a name="UIOSelector_IsExist_Bool"></a>
___
Check is the UIO/UIO's by the UIOSelector exist <br>
___
**inSpecificationList** - UIOSelector <br>
___
**`UIOSelector_WaitAppear_Dict(inSpecificationList,inTimeout=60)`**<br>
<a name="UIOSelector_WaitAppear_Dict"></a>
___
Wait for the UIO by the UIOSelector appear <br>
___
**inSpecificationList** - UIOSelector <br>
___
**`UIOSelector_TryRestore_Dict(inSpecificationList)`**<br>
<a name="UIOSelector_TryRestore_Dict"></a>
___
Try to restore (maximize) window, if it's was minimized. (особенность uia backend - он не может прицепиться к окну, если оно свернуто)<br>
___
**inSpecificationList** - UIOSelector <br>
___
**`UIOSelector_Get_UIOActivityList (inControlSpecificationArray)`**<br>
<a name="UIOSelector_Get_UIOActivityList"></a>
___
Get the list of the UI object activities<br>
___
**inControlSpecificationArray** - UIOSelector <br>
___
**`UIOSelectorUIOActivity_Run_Dict(inControlSpecificationArray,inActionName,inArgumentList=\[\],inkwArgumentObject={})`**<br>
<a name="UIOSelectorUIOActivity_Run_Dict"></a>
___
Run the activity in UIO (UI Object) <br>
___
**inControlSpecificationArray** - UIOSelector <br>
**inActionName** - UIOActivity (name) from Pywinauto<br>
___
**`UIOSelector_Get_UIOInfo(inControlSpecificationArray)`**<br>
<a name="UIOSelector_Get_UIOInfo"></a>
___
Get the UIO dict of the attributes <br>
___
**inControlSpecificationArray** - UIOSelector <br>
___
**`UIOSelector_GetChildList_UIOList(inControlSpecificationArray=\[\],inBackend=mDefaultPywinautoBackend)`**<br>
<a name="UIOSelector_GetChildList_UIOList"></a>
___
Get list of child UIO's by Parent UIOSelector<br>
___
**inControlSpecificationArray** - UIOSelector <br>
___
**`UIOSelector_SearchUIONormalize_UIOSelector (inControlSpecificationArray)`**<br>
<a name="UIOSelector_SearchUIONormalize_UIOSelector"></a>
___
Подготовить массив для обращения к поиску элементов <br>
___
**inControlSpecificationArray** - UIOSelector <br>
___
**`UIOSelector_SearchProcessNormalize_UIOSelector (inControlSpecificationArray)`**<br>
<a name="UIOSelector_SearchProcessNormalize_UIOSelector"></a>
___
Подготовить массив для обращения к поиску процесса (отличается от поиска элемента, т.к. данная функция нужна для нормализации спецификации для подключения к процессу с окнами)<br>
___
**inControlSpecificationArray** - UIOSelector <br>
___
**`UIOSelector_FocusHighlight(inSpecificationArray)`**<br>
<a name="UIOSelector_FocusHighlight"></a>
___
Set focus and highlight (draw outline) the element (in app) by the UIO selector.<br>
___
**inSpecificationArray** - UIOSelector <br>
___
**`UIOSelector_Highlight(inSpecificationArray)`**<br>
<a name="UIOSelector_Highlight"></a>
___
Highlight (draw outline) the element (in app) by the UIO selector.<br>
___
**inSpecificationArray** - UIOSelector <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

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 15.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="208px" height="128px" viewBox="0 0 208 128" enable-background="new 0 0 208 128" xml:space="preserve">
<path fill="none" stroke="#FFFFFF" stroke-width="10" d="M15,5h178c5.523,0,10,4.477,10,10v98c0,5.523-4.477,10-10,10H15
c-5.523,0-10-4.477-10-10V15C5,9.477,9.477,5,15,5z"/>
<path fill="#FFFFFF" d="M30,98V30h20l20,25l20-25h20v68H90V59L70,84L50,59v39H30z M155,98l-30-33h20V30h20v35h20L155,98z"/>
</svg>

After

Width:  |  Height:  |  Size: 770 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Loading…
Cancel
Save