RPA 工具和库的集合
项目描述
目录
</nav>介绍
RPA 框架是用于机器人过程自动化 (RPA) 的开源库和工具的集合,它旨在与 机器人框架和Python一起使用。目标是为软件机器人开发人员提供文档齐全且积极维护的核心库。
在Robocorp 文档中了解有关 RPA 的更多信息。
该项目是:
100% 开源
针对 Robocorp控制室和开发人员工具进行了优化
接受外部贡献
链接
套餐
从上面的包中,rpaframework-core和rpaframework-recognition是支持包,它们本身不包含任何库。
图书馆
RPA 框架项目目前包括以下库:
PACKAGE列中的x表示该库包含在rpaframework包中,例如。x, dialogs表示rpaframework和rpaframework-dialogs包中都提供了RPA.Dialogs库。
图书馆名称 |
描述 |
包裹 |
归档 TAR 和 ZIP 文件 |
X |
|
智能文档处理服务 |
X |
|
控制浏览器和自动化网络 |
X |
|
控制浏览器的新方法 |
特别(更多下文) |
|
使用亚马逊 AWS 服务 |
x,aws |
|
使用 Microsoft Azure 服务 |
X |
|
使用谷歌云服务 |
谷歌 |
|
常见的散列和加密操作 |
X |
|
与数据库交互 |
X |
|
跨平台桌面自动化 |
X |
|
与系统剪贴板交互 |
X |
|
读取操作系统信息和操作进程 |
X |
|
自动化 Windows 桌面应用程序 |
X |
|
在执行期间请求用户输入 |
x,对话框 |
|
电子邮件操作(交换协议) |
X |
|
电子邮件操作(IMAP 和 SMTP) |
X |
|
控制 Excel 桌面应用程序 |
X |
|
直接操作 Excel 文件 |
X |
|
读取和操作文件和路径 |
X |
|
与 FTP 服务器交互 |
X |
|
直接与 Web API 交互 |
X |
|
访问 HubSpot CRM 数据对象 |
X |
|
处理图像 |
X |
|
控制 Java 应用程序 |
X |
|
操作 JSON 对象 |
X |
|
使用一次性密码 (OTP) 进行身份验证 |
X |
|
智能文档处理服务 |
X |
|
使用不同的服务通知消息 |
X |
|
控制 Outlook 桌面应用程序 |
X |
|
阅读和创建 PDF 文档 |
x,pdf |
|
使用 Robocorp 流程 API |
X |
|
使用 Robocorp 工作项 API |
X |
|
使用 Robocorp Secrets API |
X |
|
Salesforce 运营 |
X |
|
控制 SAP GUI 桌面客户端 |
X |
|
处理、排序和过滤表格数据 |
X |
|
控制任务执行 |
X |
|
推特 API 接口 |
X |
|
Windows 自动化的替代库 |
x,窗户 |
|
控制 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)
支持和联系
rpaframework.org用于库文档
用于指南和教程的Robocorp 文档
Robot Framework Slack中的#rpaframework频道,如果您有未解决的问题或想要贡献的话
用于讨论 RPA 的Robocorp 论坛
在Robocorp Developers Slack与您的软件机器人开发人员和 Robocorp 专家交流
贡献
发现错误?缺少关键功能?有兴趣贡献吗?前往贡献指南 ,看看从哪里开始。
发展
存储库开发是基于Python的,并且至少需要在开发机器上安装 Python 3.7+ 版本。Robocorp Robot 模板中使用的默认 Python 版本是 3.7.5,因此它是安装版本的不错选择。不推荐的版本是 3.7.6 和 3.8.1,因为它们与 rpaframework 相关的一些依赖项存在问题。当时也不推荐从 3.9 开始的较新的 Python 版本,因为某些依赖项可能会导致问题。
存储库开发工具基本上是基于诗歌和调用。Poetry 是用于编译、构建和运行包的底层工具。Invoke 用于脚本目的,例如用于 linting、测试和发布任务。
开始开发的第一步:
初始诗歌配置
poetry config virtualenvs.path null
poetry config virtualenvs.in-project true
poetry config repositories.devpi "https://devpi.robocorp.cloud/ci/test"
git克隆存储库
创建一个新的 Git 分支或切换到正确的分支或留在主分支
一些分支命名约定feature/name-of-feature , hotfix/name-of-the-issue , release/number-of-release
诗歌安装将其安装包及其依赖项安装到包的.venv目录中,例如packages/main/.venv
如果针对使用devdata/env.json的 Robocorp Robot 进行测试
设置环境变量
或诗歌在机器人conda.yaml中构建和使用生成的 .whl 文件(在dist/目录中)
或诗歌构建并将生成的 .whl 文件(在dist/目录中)推送到存储库中,并使用原始 url 将其包含在机器人conda.yaml 中
Robocorp 内部开发的另一种可能性是使用 Robocorp devpi实例,通过诗歌发布--ci 和点conda.yaml在 devpi 中使用 rpaframework 版本
诗歌运行 python -m机器人 <ROBOT_ARGS> <TARGET_ROBOT_FILE>
来自 Robocorp 机器人模板的常见ROBOT_ARGS : --report NONE --outputdir输出--logtitle "Task log"
诗歌运行 python <TARGET_PYTHON_FILE>
调用 lint以确保代码格式符合rpaframework存储库指南。如果开发人员没有对代码更改进行 linted,则 Github 操作可能会失败。代码格式基于black和flake8,并且使用调用 lint运行。
可以在存储库根目录(所谓的“元”包级别)中创建库文档。文档是由 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>
调用测试(这将运行包测试/目录中定义的 Python 单元测试和机器人框架测试)
运行特定的 Python 测试:诗歌运行 pytest path/to/test.py::test_function
运行特定的 Robotframework 测试:inv testrobot -r <robot_name> -t <task_name>
git 提交更改
git推送更改到远程
从描述包含在描述中的更改的分支创建拉取请求
使用更改更新docs/source/releasenotes.rst(提交和推送)
在更改合并到主分支后完成打包和发布。以下所有步骤都应在 master 分支中完成。
git 将最新更改拉入主分支
在包含更改的包目录中执行调用 lint和调用测试
根据语义版本控制用新版本更新pyproject.toml
使用更改更新docs/source/releasenotes.rst
在存储库根目录(所谓的“元”包级别)运行命令诗歌更新
git commit 更改了poetry.lock文件(在元和目标包级别)、releasenotes.rst 和pyproject.toml并带有消息“PACKAGE. xyz版本”
git 推送
在主分支上的 Github 操作全为绿色后调用发布
一些推荐的开发工具
Visual Studio Code作为具有以下扩展的代码编辑器:
GitHub Desktop将使版本管理更不容易出错
执照
该项目是开源的,并根据 Apache License 2.0的条款获得许可。