Skip to main content

RPA 工具和库的集合

项目描述

<nav class="contents local" id="table-of-contents" role="doc-toc">

目录

</nav>

介绍

RPA 框架是用于机器人过程自动化 (RPA) 的开源库和工具的集合,它旨在与 机器人框架Python一起使用。目标是为软件机器人开发人员提供文档齐全且积极维护的核心库。

在Robocorp 文档中了解有关 RPA 的更多信息。

该项目是:


套餐

rpaframework 最新版本 rpaframework-aws 最新版本 rpaframework-core 最新版本 rpaframework-dialogs 最新版本 rpaframework-google 最新版本 rpaframework-pdf 最新版本 rpaframework-识别最新版本 rpaframework-windows 最新版本

从上面的包中,rpaframework-corerpaframework-recognition是支持包,它们本身包含任何库。

图书馆

RPA 框架项目目前包括以下库:

PACKAGE列中的x表示该库包含在rpaframework包,例如。x, dialogs表示rpaframeworkrpaframework-dialogs包中都提供了RPA.Dialogs库。

图书馆名称

描述

包裹

档案

归档 TAR 和 ZIP 文件

X

Base64AI

智能文档处理服务

X

浏览器.Selenium

控制浏览器和自动化网络

X

浏览器.剧作家

控制浏览器的新方法

特别(更多下文)

云.AWS

使用亚马逊 AWS 服务

x,aws

云.Azure

使用 Microsoft Azure 服务

X

云.谷歌

使用谷歌云服务

谷歌

加密货币

常见的散列和加密操作

X

数据库

与数据库交互

X

桌面

跨平台桌面自动化

X

桌面.剪贴板

与系统剪贴板交互

X

桌面操作系统

读取操作系统信息和操作进程

X

桌面.Windows

自动化 Windows 桌面应用程序

X

对话框

在执行期间请求用户输入

x,对话框

电子邮件.Exchange

电子邮件操作(交换协议)

X

电子邮件.ImapSmtp

电子邮件操作(IMAP 和 SMTP)

X

Excel.Application

控制 Excel 桌面应用程序

X

Excel.文件

直接操作 Excel 文件

X

文件系统

读取和操作文件和路径

X

FTP

与 FTP 服务器交互

X

HTTP

直接与 Web API 交互

X

中心点

访问 HubSpot CRM 数据对象

X

图片

处理图像

X

JavaAccessBridge

控制 Java 应用程序

X

JSON

操作 JSON 对象

X

外交部

使用一次性密码 (OTP) 进行身份验证

X

纳米网

智能文档处理服务

X

通知者

使用不同的服务通知消息

X

Outlook.Application

控制 Outlook 桌面应用程序

X

PDF格式

阅读和创建 PDF 文档

x,pdf

Robocorp.Process

使用 Robocorp 流程 API

X

Robocorp.WorkItems

使用 Robocorp 工作项 API

X

Robocorp.Vault

使用 Robocorp Secrets API

X

销售队伍

Salesforce 运营

X

树液

控制 SAP GUI 桌面客户端

X

处理、排序和过滤表格数据

X

任务

控制任务执行

X

推特

推特 API 接口

X

视窗

Windows 自动化的替代库

x,窗户

Word.Application

控制 Word 桌面应用程序

X

安装 RPA.Browser.Playwright

RPA.Browser.Playwright目前需要特殊安装,因为包大小和安装后步骤需要完全安装。

安装 Playwright 所需的最低 conda.yaml:

channels:
  - conda-forge
dependencies:
  - python=3.7.5
  - pip=20.1
  - nodejs=16.4.2
  - pip:
    - rpaframework==13.0.0
    - robotframework-browser==12.2.0
rccPostInstall:
  - rfbrowser init

安装

在安装 Python 包中了解如何安装 Python

使用 conda.yaml 的 Robocorp开发人员工具的默认安装方法:

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

要安装所有额外的包(包括 Playwright 依赖项),您可以使用:

channels:
  - conda-forge
dependencies:
  - python=3.7.5
  - tesseract=4.1.1
  - pip=20.1
  - nodejs=16.14.2
  - pip:
    - rpaframework==13.0.0   # rpaframework[aws]==13.0.0
    - rpaframework-aws==1.0.0
    - rpaframework-google==3.0.0
    - rpaframework-recognition==2.0.0
    - robotframework-browser==12.2.0
rccPostInstall:
  - rfbrowser init

在没有主 rpaframework 的情况下单独安装 AWS、Dialogs、PDF 和 Windows 库:

channels:
  - conda-forge
dependencies:
  - python=3.7.5
  - pip=20.1
  - pip:
    - rpaframework-aws==1.0.0 # included in the rpaframework as an extra
    - rpaframework-dialogs==1.0.0  # included in the rpaframework by default
    - rpaframework-pdf==3.0.0  # included in the rpaframework by default
    - rpaframework-windows==3.0.0 # included in the rpaframework by default

例子

安装后,可以直接在 Robot Framework中导入库:

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

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

这些库也可以在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)

支持和联系

贡献

发现错误?缺少关键功能?有兴趣贡献吗?前往贡献指南 ,看看从哪里开始。

发展

存储库开发是基于Python的,并且至少需要在开发机器上安装 Python 3.7+ 版本。Robocorp Robot 模板中使用的默认 Python 版本是 3.7.5,因此它是安装版本的不错选择。不推荐的版本是 3.7.6 和 3.8.1,因为它们与 rpaframework 相关的一些依赖项存在问题。当时也不推荐从 3.9 开始的较新的 Python 版本,因为某些依赖项可能会导致问题。

存储库开发工具基本上是基于诗歌调用。Poetry 是用于编译、构建和运行包的底层工具。Invoke 用于脚本目的,例如用于 linting、测试和发布任务。

开始开发的第一步:

  1. 初始诗歌配置

poetry config virtualenvs.path null
poetry config virtualenvs.in-project true
poetry config repositories.devpi "https://devpi.robocorp.cloud/ci/test"
  1. git克隆存储库

  2. 创建一个新的 Git 分支或切换到正确的分支或留在主分支

    • 一些分支命名约定feature/name-of-feature , hotfix/name-of-the-issue , release/number-of-release

  3. 诗歌安装将其安装包及其依赖项安装到包的.venv目录中,例如packages/main/.venv

  4. 如果针对使用devdata/env.json的 Robocorp Robot 进行测试

    • 设置环境变量

    • 诗歌在机器人conda.yaml中构建和使用生成的 .whl 文件(在dist/目录中)

    • 诗歌构建并将生成的 .whl 文件(在dist/目录中)推送到存储库中,并使用原始 url 将其包含在机器人conda.yaml 中

    • Robocorp 内部开发的另一种可能性是使用 Robocorp devpi实例,通过诗歌发布--ci 和点conda.yaml在 devpi 中使用 rpaframework 版本

  5. 诗歌运行 python -m机器人 <ROBOT_ARGS> <TARGET_ROBOT_FILE>

    • 来自 Robocorp 机器人模板的常见ROBOT_ARGS : --report NONE --outputdir输出--logtitle "Task log"

  6. 诗歌运行 python <TARGET_PYTHON_FILE>

  7. 调用 lint以确保代码格式符合rpaframework存储库指南。如果开发人员没有对代码更改进行 linted,则 Github 操作可能会失败。代码格式基于blackflake8,并且使用调用 lint运行。

  8. 可以在存储库根目录(所谓的“元”包级别)中创建库文档。文档是由 docgen 工具使用本地安装的项目版本构建的,每次生成文档时都会反映主包的本地更改,但是如果您想查看可选包的本地更改,则必须使用调用安装-local --package <package_name>使用适当的包名称(例如,rpaframework-aws)。这将将该包重新安装为本地可编辑版本,而不是从 PyPI。通过重复使用--package选项可以添加多个这样的包。为了重置它,请使用invoke install --reset

    • 诗歌更新和/或调用install-local --package <package name>

    • 制作文档

    • 使用浏览器打开docs/build/html/index.html以查看更改或执行make local并导航到 localhost:8000以将文档作为实时本地网页查看。

    # Before
    [tool.poetry.dependencies]
    python = <s>"^3.7"</s>
    rpaframework = { path = <s>"packages/main"</s>, extras = [<s>"cv"</s>, <s>"playwright"</s>, <s>"aws"</s>] }
    rpaframework-google = <s>"^4.0.0"</s>
    rpaframework-windows = <s>"^4.0.0"</s>
    
    # After
    [tool.poetry.dependencies]
    python = <s>"^3.7"</s>
    rpaframework = { path = <s>"packages/main"</s>, extras = [<s>"cv"</s>, <s>"playwright"</s>] }
    rpaframework-aws = { path = <s>"packages/aws"</s> }
    rpaframework-google = <s>"^4.0.0"</s>
    rpaframework-windows = <s>"^4.0.0"</s>
  9. 调用测试(这将运行包测试/目录中定义的 Python 单元测试和机器人框架测试)

    • 运行特定的 Python 测试:诗歌运行 pytest path/to/test.py::test_function

    • 运行特定的 Robotframework 测试:inv testrobot -r <robot_name> -t <task_name>

  10. git 提交更改

  11. git推送更改到远程

  12. 从描述包含在描述中的更改的分支创建拉取请求

  13. 使用更改更新docs/source/releasenotes.rst(提交和推送)

在更改合并到主分支后完成打包和发布。以下所有步骤都应在 master 分支中完成。

  1. git 将最新更改拉入主分支

  2. 在包含更改的包目录中执行调用 lint调用测试

  3. 根据语义版本控制用新版本更新pyproject.toml

  4. 使用更改更新docs/source/releasenotes.rst

  5. 在存储库根目录(所谓的“元”包级别)运行命令诗歌更新

  6. git commit 更改了poetry.lock文件(在元和目标包级别)、releasenotes.rstpyproject.toml并带有消息“PACKAGE. xyz版本”

  7. git 推送

  8. 在主分支上的 Github 操作全为绿色后调用发布

一些推荐的开发工具

执照

该项目是开源的,并根据 Apache License 2.0的条款获得许可。