RPA相关工具和库的集合
项目描述
请求用户输入!
我们正在努力改进我们的关键字使用,以便涵盖开发者可能难以顺畅编写Robot任务的情况。描述一下由于缺乏更简单的语法,您的实现速度变慢的情况。
简介
RPA框架是一组用于机器人流程自动化(RPA)的开源库和工具,旨在与Robot Framework和Python一起使用。目标是提供文档完善且积极维护的核心库,供软件机器人开发者使用。
在Robocorp文档中了解更多关于RPA的信息。
该项目是
链接
包
在上面的包中,rpaframework-core和rpaframework-recognition是支持包,单独使用时不包含任何库。
库
RPA框架项目目前包括以下库
在软件包列中的“x”表示该库包含在“rpaframework”软件包中,例如。“x,pdf”表示“RPA.PDF”库在“rpaframework”和“rpaframework-pdf”软件包中均提供。
库名称 |
描述 |
软件包 |
归档TAR和ZIP文件 |
x |
|
向用户显示信息和请求输入。 |
assistant |
|
控制浏览器并自动化网络 |
x |
|
控制浏览器的新方法 |
特殊(以下将详细说明) |
|
用于日期和时间操作 |
x |
|
使用Amazon AWS服务 |
x,aws |
|
使用Microsoft Azure服务 |
x |
|
使用Google Cloud服务 |
||
常见的哈希和加密操作 |
x |
|
与数据库交互 |
x |
|
跨平台桌面自动化 |
x |
|
与系统剪贴板交互 |
x |
|
读取OS信息和操作进程 |
x |
|
智能文档处理包装器 |
x |
|
智能文档处理服务 |
x |
|
智能文档处理服务 |
x |
|
电子邮件操作(Exchange协议) |
x |
|
电子邮件操作(IMAP & SMTP) |
x |
|
控制Excel桌面应用程序 |
x |
|
直接操作Excel文件 |
x |
|
读取和操作文件及路径 |
x |
|
与FTP服务器交互 |
x |
|
直接与Web API交互 |
x |
|
访问HubSpot CRM数据对象 |
hubspot |
|
操作图像 |
x |
|
控制Java应用程序 |
x |
|
操作JSON对象 |
x |
|
使用一次性密码(OTP)& OAuth2进行认证 |
x |
|
使用不同服务通知消息 |
x |
|
人工智能服务 |
openai |
|
控制Outlook桌面应用程序 |
x |
|
读取和创建PDF文档 |
x,pdf |
|
使用Robocorp Process API |
x |
|
使用Robocorp Work Items API |
x |
|
使用Robocorp Secrets API |
x |
|
使用Robocorp Asset Storage API |
x |
|
Salesforce操作 |
x |
|
控制SAP GUI桌面客户端 |
x |
|
访问Smartsheet电子表格 |
x |
|
操作、排序和筛选表格数据 |
x |
|
控制任务执行 |
x |
|
Twitter API接口 |
x |
|
Windows自动化替代库 |
x,windows |
|
控制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)
支持和联系方式
rpaframework.org提供库文档
Robocorp文档提供指南和教程
在Robot Framework Slack的#rpaframework频道,如果您有开放式问题或希望贡献
Robocorp论坛讨论RPA
在Robocorp Developers Slack与您的软件机器人开发人员同行和Robocorp专家交流
贡献
发现了一个错误?缺少一个关键功能?有兴趣贡献?请访问贡献指南了解如何开始。
开发
代码库开发基于Python,开发机器上至少需要安装Python版本3.8+。Robocorp机器人模板中使用的默认Python版本是3.9.16,因此它是安装版本的好选择。不推荐的版本是3.7.6和3.8.1,因为它们与rpaframework相关的某些依赖项存在问题。在编写本指南时,从3.11开始的较新Python版本也不推荐,因为某些依赖项可能会引起问题。
代码库开发工具基于poetry和invoke。Poetry是用于编译、构建和运行包的底层工具。Invoke用于脚本目的,例如进行代码检查、测试和发布任务。
在编写任何代码之前,请阅读并确认我们详细的开发指南。
开始开发的第一步
初始poetry配置
poetry config virtualenvs.path null
poetry config virtualenvs.in-project true
poetry config repositories.devpi "https://devpi.robocorp.cloud/ci/test"
克隆代码库
创建一个新的Git分支或切换到正确的分支,或者保持在master分支
一些分支命名规范:feature/功能名称、hotfix/问题名称、release/版本号
poetry install,它将包及其依赖项安装到包的.venv目录中,例如:packages/main/.venv
如果测试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版本
poetry run python -m robot <ROBOT_ARGS> <TARGET_ROBOT_FILE>
来自Robocorp机器人模板的常见ROBOT_ARGS:--report NONE --outputdir output --logtitle "任务日志"
poetry run python <TARGET_PYTHON_FILE>
使用invoke lint确保代码格式符合rpaframework代码库指南。如果开发者没有对代码更改进行代码检查,GitHub操作可能会失败。代码格式基于black和flake8,并通过invoke lint运行。
库文档可以在代码库根目录(所谓“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"
调用 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>
git 提交更改
将更改推送到远程仓库
从分支创建包含描述中更改的 pull request
更新 docs/source/releasenotes.rst 中的更改(提交和推送)
在更改合并到 master 分支后进行打包和发布。所有以下步骤应在 master 分支内执行。
将最新更改拉取到 master 分支
在包含更改的包目录中执行 invoke lint 和 invoke test
根据语义版本更新 pyproject.toml
更新 docs/source/releasenotes.rst 中的更改
在仓库根目录(所谓“元”包级别)运行命令 poetry update
提交更改的 poetry.lock 文件(在元和目标包级别)、releasenotes.rst 和 pyproject.toml,提交信息为“PACKAGE. version x.y.z”
git 推送
在 master 分支的 Github action 全部绿色后执行 invoke publish
一些推荐的开发工具
Visual Studio Code 作为代码编辑器,具有以下扩展
GitHub Desktop 将使版本管理更不容易出错
许可证
本项目为开源项目,遵循 Apache License 2.0 许可协议。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
rpaframework-28.6.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 071cb6ad5e9642e6d3715adbdd92253db7b55218cd7385b605e62a2b6e73b904 |
|
MD5 | 1e725222283ea351451e8c08b8a30120 |
|
BLAKE2b-256 | 379eb45c8c12e18c04941c47f5eddea38166ac60bec30757d5758bc22760de30 |
rpaframework-28.6.3-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a872b0f6a79991000acd9b874f77a7f686f381ac29dc9cfbaf3ca1fcf4bfcd06 |
|
MD5 | 1dbc6529430845e607573d42b89f0974 |
|
BLAKE2b-256 | af3f445ac49c783f5f4b88d961555f62f291a4038e6cccb6a8c24b2e1fa77b10 |