我们正在考虑改进关键字的使用,以涵盖开发人员可能难以顺利地为机器人编写任务的情况。描述由于缺乏更简单的语法而导致实现速度变慢的情况。
在这里评论
RPA Framework 是机器人流程自动化 (RPA) 的开源库和工具的集合,旨在与 Robot Framework 和 Python 一起使用。目标是为软件机器人开发人员提供记录良好且积极维护的核心库。
在 Robocorp 文档中了解有关 RPA 的更多信息。
该项目是:
从上面的包中, rpaframework -core
和rpaframework -recognition
是支持包,它们本身不包含任何库。
RPA框架项目目前包含以下库:
PACKAGE列中的x
表示该库包含在rpaframework包中,例如。 x,pdf
表示rpaframework和rpaframework -pdf包中都提供了RPA.PDF
库。
图书馆名称 | 描述 | 包裹 |
档案 | 归档 TAR 和 ZIP 文件 | x |
助手 | 向用户显示信息并请求输入。 | 助手 |
浏览器.Selenium | 控制浏览器并使网络自动化 | x |
浏览器剧作家 | 控制浏览器的新方法 | 特别(更多见下文) |
日历 | 用于日期和时间操作 | x |
云.AWS | 使用亚马逊AWS服务 | x,AWS |
云.Azure | 使用微软Azure服务 | x |
谷歌云 | 使用 Google Cloud 服务 | 谷歌 |
加密货币 | 常见的哈希和加密操作 | x |
数据库 | 与数据库交互 | x |
桌面 | 跨平台桌面自动化 | x |
桌面.剪贴板 | 与系统剪贴板交互 | x |
桌面操作系统 | 读取操作系统信息并操作进程 | x |
文档人工智能 | 智能文档处理包装器 | x |
文档AI.Base64AI | 智能文档处理服务 | x |
DocumentAI.Nanonets | 智能文档处理服务 | x |
电子邮件交换 | 电子邮件操作(Exchange 协议) | x |
电子邮件.ImapSmtp | 电子邮件操作(IMAP 和 SMTP) | x |
Excel.应用程序 | 控制 Excel 桌面应用程序 | x |
Excel.文件 | 直接操作Excel文件 | x |
文件系统 | 读取和操作文件和路径 | x |
文件传输协议 | 与 FTP 服务器交互 | x |
HTTP协议 | 直接与 Web API 交互 | x |
集线器点 | 访问 HubSpot CRM 数据对象 | 中心点 |
图片 | 操作图像 | x |
Java访问桥 | 控制Java应用程序 | x |
JSON | 操作 JSON 对象 | x |
艺术硕士 | 使用一次性密码 (OTP) 和 OAuth2 进行身份验证 | x |
通知者 | 使用不同的服务通知消息 | x |
开放人工智能 | 人工智能服务 | 开放性 |
展望.应用 | 控制 Outlook 桌面应用程序 | x |
阅读和创建 PDF 文档 | x,pdf | |
Robocorp流程 | 使用 Robocorp 流程 API | x |
Robocorp.工作项目 | 使用 Robocorp 工作项 API | x |
Robocorp.Vault | 使用 Robocorp Secrets API | x |
Robocorp.Storage | 使用 Robocorp 资产存储 API | x |
销售人员 | 销售人员运营 | x |
树液 | 控制 SAP GUI 桌面客户端 | x |
智能表 | 访问 Smartsheet 工作表 | x |
表格 | 操作、排序和过滤表格数据 | x |
任务 | 控制任务执行 | x |
叽叽喳喳 | 推特API接口 | x |
视窗 | Windows 自动化的替代库 | x、窗口 |
文字应用 | 控制 Word 桌面应用程序 | x |
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 包的信息。
使用 conda.yaml 的 Robocorp 开发人员工具的默认安装方法:
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
单独安装 AWS、PDF 和 Windows 库,无需主rpaframework
:
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
笔记
需要 Python 3.8 或更高版本
安装后,可以将库直接导入到 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 Robot 模板中使用的默认 Python 版本是 3.9.16,因此它是安装版本的不错选择。不推荐的版本是 3.7.6 和 3.8.1,因为它们与rpaframework
相关的一些依赖项存在问题。目前也不推荐从 3.11 开始使用较新的 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 分支或切换到正确的分支或保留在 master 分支
poetry install
将包及其依赖项安装到包的.venv目录中,例如packages/main/.venv
如果针对使用devdata/env.json 的Robocorp 机器人进行测试
poetry build
在 Robot conda.yaml中构建并使用生成的 .whl 文件(在dist/目录中)poetry build
并将生成的 .whl 文件(在dist/目录中)推送到存储库中,并使用原始 url 将其包含在 Robot conda.yaml中poetry publish --ci
并点conda.yaml在devpi中使用rpaframework版本poetry run python -m robot <ROBOT_ARGS> <TARGET_ROBOT_FILE>
--report NONE --outputdir output --logtitle "Task log"
poetry run python <TARGET_PYTHON_FILE>
invoke lint
以确保代码格式符合rpaframework存储库指南。如果开发人员没有检查代码更改,Github 操作很可能会失败。代码格式化基于 black 和 flake8,并且通过invoke lint
运行。
库文档可以在存储库根目录(所谓的“元”包级别)中创建。该文档是由 docgen 工具使用项目的本地安装版本构建的,每次生成文档时都会反映主包的本地更改,但如果您想查看可选包的本地更改,则必须使用invoke install-local --package <package_name>
使用适当的包名称(例如rpaframework -aws
)。这会将该包重新安装为本地可编辑版本,而不是从 PyPI 重新安装。可以通过重复使用--package
选项来添加多个此类包。为了重置它,请使用invoke install --reset
。
poetry update
和/或invoke install-local --package <package name>
make docs
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 "
invoke test
(这将运行包中定义的Python单元测试和robotframework测试/目录)
poetry run pytest path/to/test.py::test_function
inv testrobot -r <robot_name> -t <task_name>
git 提交更改
git 将更改推送到远程
从分支创建拉取请求,描述描述中包含的更改
更新docs/source/releasenotes.rst进行更改(提交和推送)
打包和发布是在更改合并到主分支后完成的。以下所有步骤应在 master 分支内完成。
invoke lint
和invoke test
poetry update
invoke publish
一些推荐的开发工具
Visual Studio Code 作为代码编辑器,具有以下扩展:
- 机器人公司代码
- 机器人框架语言服务器
- 吉特透镜
- Python 扩展
GitHub Desktop 将使版本管理不易出错
该项目是开源的,并根据 Apache License 2.0 的条款获得许可。