RPA Framework

Introduction

RPA Framework is a collection of open-source libraries and tools for Robotic Process Automation (RPA), and it is designed to be used with both Robot Framework and Python. The goal is to offer well-documented and actively maintained core libraries for Software Robot Developers.

Learn more about RPA at Robocorp Documentation.

The project is:


Packages

rpaframework latest version rpaframework-core latest version rpaframework-dialogs latest version rpaframework-google latest version rpaframework-pdf latest version rpaframework-recognition latest version rpaframework-windows latest version

From the above packages rpaframework-core and rpaframework-recognition are support packages, which themselves do not contain any libraries.

Libraries

The RPA Framework project currently includes the following libraries:

The x in the PACKAGE column means that library is included in the rpaframework package and for example. x,dialogs means that RPA.Dialogs library is provided in both the rpaframework and rpaframework-dialogs packages.

LIBRARY NAME

DESCRIPTION

PACKAGE

Archive

Archiving TAR and ZIP files

x

Browser.Selenium

Control browsers and automate the web

x

Browser.Playwright

Newer way to control browsers

x

Cloud.AWS

Use Amazon AWS services

x

Cloud.Azure

Use Microsoft Azure services

x

Cloud.Google

Use Google Cloud services

google

Crypto

Common hashing and encryption operations

x

Database

Interact with databases

x

Desktop

Cross-platform desktop automation

x

Desktop.Clipboard

Interact with the system clipboard

x

Desktop.OperatingSystem

Read OS information and manipulate processes

x

Desktop.Windows

Automate Windows desktop applications

x

Dialogs

Request user input during executions

x,dialogs

Email.Exchange

E-Mail operations (Exchange protocol)

x

Email.ImapSmtp

E-Mail operations (IMAP & SMTP)

x

Excel.Application

Control the Excel desktop application

x

Excel.Files

Manipulate Excel files directly

x

FileSystem

Read and manipulate files and paths

x

FTP

Interact with FTP servers

x

HTTP

Interact directly with web APIs

x

Images

Manipulate images

x

JavaAccessBridge

Control Java applications

x

JSON

Manipulate JSON objects

x

Notifier

Notify messages using different services

x

Outlook.Application

Control the Outlook desktop application

x

PDF

Read and create PDF documents

x,pdf

Robocorp.Process

Use the Robocorp Process API

x

Robocorp.WorkItems

Use the Robocorp Work Items API

x

Robocorp.Vault

Use the Robocorp Secrets API

x

Salesforce

Salesforce operations

x

SAP

Control SAP GUI desktop client

x

Tables

Manipulate, sort, and filter tabular data

x

Tasks

Control task execution

x

Twitter

Twitter API interface

x

Windows

Alternative library for Windows automation

windows

Word.Application

Control the Word desktop application

x

Installation

Learn about installing Python packages at Installing Python Packages.

Default installation method with Robocorp Developer Tools using conda.yaml:

channels:
  - conda-forge
dependencies:
  - python=3.7.5
  - pip=20.1
  - pip:
    - rpaframework==12.0.0

To install all extra packages (including Playwright dependencies), you can use:

channels:
  - conda-forge
dependencies:
  - python=3.7.5
  - tesseract=4.1.1
  - pip=20.1
  - nodejs=14.17.4
  - pip:
    - rpaframework[aws]==12.0.0
    - rpaframework-google==1.0.0
    - rpaframework-recognition==1.0.0
    - rpaframework-windows==1.2.1
    - robotframework-browser==10.0.3
rccPostInstall:
  - rfbrowser init

Separate installation of PDF and Dialogs libraries without main rpaframework:

channels:
  - conda-forge
dependencies:
  - python=3.7.5
  - pip=20.1
  - pip:
    - rpaframework-dialogs==0.4.2  # included in the rpaframework by default
    - rpaframework-pdf==1.26.11  # included in the rpaframework by default

Note

Python 3.6 or higher is required

Example

After installation the libraries can be directly imported inside Robot Framework:

*** Settings ***
Library    RPA.Browser.Selenium

*** Tasks ***
Login as user
    Open available browser    https://example.com
    Input text    id:user-name    ${USERNAME}
    Input text    id:password     ${PASSWORD}

The libraries are also available inside Python:

from RPA.Browser.Selenium import Selenium

lib = Selenium()

lib.open_available_browser("https://example.com")
lib.input_text("id:user-name", username)
lib.input_text("id:password", password)

Support and contact

Contributing

Found a bug? Missing a critical feature? Interested in contributing? Head over to the Contribution guide to see where to get started.

License

This project is open-source and licensed under the terms of the Apache License 2.0.