跳转到主要内容

RPA相关工具和库的集合

项目描述

请求用户输入!

我们正在努力改进我们的关键字使用,以便涵盖开发者可能难以顺畅编写Robot任务的情况。描述一下由于缺乏更简单的语法,您的实现速度变慢的情况。

在此处评论

简介

RPA框架是一组用于机器人流程自动化(RPA)的开源库和工具,旨在与Robot FrameworkPython一起使用。目标是提供文档完善且积极维护的核心库,供软件机器人开发者使用。

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

该项目是


rpaframework latest version rpaframework-assistant latest version rpaframework-aws latest version rpaframework-core latest version rpaframework-google latest version rpaframework-hubspot latest version rpaframework-openai latest version rpaframework-pdf latest version rpaframework-recognition latest version rpaframework-windows latest version

在上面的包中,rpaframework-corerpaframework-recognition是支持包,单独使用时不包含任何库。

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

软件包列中的“x”表示该库包含在“rpaframework”软件包中,例如。“x,pdf”表示“RPA.PDF”库在“rpaframework”和“rpaframework-pdf”软件包中均提供。

库名称

描述

软件包

归档

归档TAR和ZIP文件

x

助手

向用户显示信息和请求输入。

assistant

Browser.Selenium

控制浏览器并自动化网络

x

Browser.Playwright

控制浏览器的新方法

特殊(以下将详细说明)

日历

用于日期和时间操作

x

Cloud.AWS

使用Amazon AWS服务

x,aws

Cloud.Azure

使用Microsoft Azure服务

x

Cloud.Google

使用Google Cloud服务

google

Crypto

常见的哈希和加密操作

x

数据库

与数据库交互

x

桌面

跨平台桌面自动化

x

Desktop.Clipboard

与系统剪贴板交互

x

Desktop.OperatingSystem

读取OS信息和操作进程

x

DocumentAI

智能文档处理包装器

x

DocumentAI.Base64AI

智能文档处理服务

x

DocumentAI.Nanonets

智能文档处理服务

x

Email.Exchange

电子邮件操作(Exchange协议)

x

Email.ImapSmtp

电子邮件操作(IMAP & SMTP)

x

Excel.Application

控制Excel桌面应用程序

x

Excel.Files

直接操作Excel文件

x

FileSystem

读取和操作文件及路径

x

FTP

与FTP服务器交互

x

HTTP

直接与Web API交互

x

Hubspot

访问HubSpot CRM数据对象

hubspot

Images

操作图像

x

JavaAccessBridge

控制Java应用程序

x

JSON

操作JSON对象

x

MFA

使用一次性密码(OTP)& OAuth2进行认证

x

Notifier

使用不同服务通知消息

x

OpenAI

人工智能服务

openai

Outlook.Application

控制Outlook桌面应用程序

x

PDF

读取和创建PDF文档

x,pdf

Robocorp.Process

使用Robocorp Process API

x

Robocorp.WorkItems

使用Robocorp Work Items API

x

Robocorp.Vault

使用Robocorp Secrets API

x

Robocorp.Storage

使用Robocorp Asset Storage API

x

Salesforce

Salesforce操作

x

SAP

控制SAP GUI桌面客户端

x

Smartsheet

访问Smartsheet电子表格

x

Tables

操作、排序和筛选表格数据

x

Tasks

控制任务执行

x

Twitter

Twitter API接口

x

Windows

Windows自动化替代库

x,windows

Word.Application

控制Word桌面应用程序

x

RPA.Browser.Playwright安装

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

安装Playwright所需的最低conda.yaml

channels:
  - conda-forge
dependencies:
  - python=3.9.16
  - nodejs=16.14.2
  - pip=22.1.2
  - pip:
    - robotframework-browser==17.2.0
    - rpaframework==24.1.2
rccPostInstall:
  - rfbrowser init

安装

有关安装Python包的信息,请参阅安装Python包

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

channels:
  - conda-forge
dependencies:
  - python=3.9.16
  - pip=22.1.2
  - pip:
    - rpaframework==24.1.2

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

channels:
  - conda-forge
dependencies:
  - python=3.9.16
  - tesseract=4.1.1
  - nodejs=16.14.2
  - pip=22.1.2
  - pip:
    - robotframework-browser==17.2.0
    - rpaframework==24.1.2
    - rpaframework-aws==5.2.8
    - rpaframework-google==7.0.3
    - rpaframework-recognition==5.1.2
rccPostInstall:
  - rfbrowser init

不包含主rpaframework的AWS、PDF和Windows库的单独安装

channels:
  - conda-forge
dependencies:
  - python=3.9.16
  - pip=22.1.2
  - pip:
    - rpaframework-aws==5.2.8  # included in the rpaframework as an extra
    - rpaframework-pdf==7.1.5  # included in the rpaframework by default
    - rpaframework-windows==7.3.2  # included in the rpaframework by default

使用Python venv的pip安装方法

python -m venv .venv
source .venv/bin/activate
pip install rpaframework

示例

安装后,可以直接在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}

这些库也适用于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.8+。Robocorp机器人模板中使用的默认Python版本是3.9.16,因此它是安装版本的好选择。不推荐的版本是3.7.6和3.8.1,因为它们与rpaframework相关的某些依赖项存在问题。在编写本指南时,从3.11开始的较新Python版本也不推荐,因为某些依赖项可能会引起问题。

代码库开发工具基于poetryinvoke。Poetry是用于编译、构建和运行包的底层工具。Invoke用于脚本目的,例如进行代码检查、测试和发布任务。

在编写任何代码之前,请阅读并确认我们详细的开发指南

开始开发的第一步

  1. 初始poetry配置

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

  2. 创建一个新的Git分支或切换到正确的分支,或者保持在master分支

    • 一些分支命名规范:feature/功能名称hotfix/问题名称release/版本号

  3. poetry install,它将包及其依赖项安装到包的.venv目录中,例如:packages/main/.venv

  4. 如果测试Robocorp Robot,它使用的是devdata/env.json

    • 设置环境变量

    • poetry build,并使用生成的.whl文件(在dist/目录中)在Robot的conda.yaml中使用

    • poetry build,并将生成的.whl文件(在dist/目录中)推送到仓库,并在Robot的conda.yaml中使用原始URL包含它

    • Robocorp内部开发另一种可能使用Robocorp devpi实例,通过poetry publish --ci并将conda.yaml指向devpi中的rpaframework版本

  5. poetry run python -m robot <ROBOT_ARGS> <TARGET_ROBOT_FILE>

    • 来自Robocorp机器人模板的常见ROBOT_ARGS--report NONE --outputdir output --logtitle "任务日志"

  6. poetry run python <TARGET_PYTHON_FILE>

  7. 使用invoke lint确保代码格式符合rpaframework代码库指南。如果开发者没有对代码更改进行代码检查,GitHub操作可能会失败。代码格式基于blackflake8,并通过invoke lint运行。

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

    • poetry update和/或invoke install-local --package <package name>

    • 生成文档

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

    # Before
    [tool.poetry.dependencies]
    python = "^3.8"
    rpaframework = { path = "packages/main", extras = ["cv", "playwright", "aws"] }
    rpaframework-google = "^4.0.0"
    rpaframework-windows = "^4.0.0"
    
    # After
    [tool.poetry.dependencies]
    python = "^3.8"
    rpaframework = { path = "packages/main", extras = ["cv", "playwright"] }
    rpaframework-aws = { path = "packages/aws" }
    rpaframework-google = "^4.0.0"
    rpaframework-windows = "^4.0.0"
  9. 调用 test(这将运行在 tests/ 目录 中定义的 Python unittests 和 robotframework tests)

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

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

  10. git 提交更改

  11. 将更改推送到远程仓库

  12. 从分支创建包含描述中更改的 pull request

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

在更改合并到 master 分支后进行打包和发布。所有以下步骤应在 master 分支内执行。

  1. 将最新更改拉取到 master 分支

  2. 在包含更改的包目录中执行 invoke lintinvoke test

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

  4. 更新 docs/source/releasenotes.rst 中的更改

  5. 在仓库根目录(所谓“元”包级别)运行命令 poetry update

  6. 提交更改的 poetry.lock 文件(在元和目标包级别)、releasenotes.rstpyproject.toml,提交信息为“PACKAGE. version x.y.z”

  7. git 推送

  8. 在 master 分支的 Github action 全部绿色后执行 invoke publish

一些推荐的开发工具

许可证

本项目为开源项目,遵循 Apache License 2.0 许可协议。

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

rpaframework-28.6.3.tar.gz (7.9 MB 查看哈希值)

上传时间

构建分发

rpaframework-28.6.3-py3-none-any.whl (697.1 kB 查看哈希值)

上传时间 Python 3

由以下支持