Мы стремимся улучшить использование ключевых слов, чтобы охватить ситуации, когда разработчику может быть сложно написать задачу для робота. Опишите ситуацию, когда скорость вашей реализации замедляется из-за отсутствия более простого синтаксиса.
Комментарий ЗДЕСЬ
RPA Framework — это набор библиотек и инструментов с открытым исходным кодом для роботизированной автоматизации процессов (RPA), предназначенный для использования как с Robot Framework, так и с Python. Цель состоит в том, чтобы предложить разработчикам программных роботов хорошо документированные и активно поддерживаемые основные библиотеки.
Узнайте больше о RPA в документации Robocorp.
Проект:
Из вышеуказанных пакетов rpaframework -core
и rpaframework -recognition
являются пакетами поддержки, которые сами по себе не содержат никаких библиотек.
В настоящее время проект RPA Framework включает в себя следующие библиотеки:
Знак x
в столбце ПАКЕТ означает, что библиотека включена в пакет rpaframework и, например. x,pdf
означает, что библиотека RPA.PDF
предоставляется как в пакетах rpaframework , так и в пакетах rpaframework -pdf .
НАЗВАНИЕ БИБЛИОТЕКИ | ОПИСАНИЕ | УПАКОВКА |
Архив | Архивирование файлов TAR и ZIP | х |
Ассистент | Отобразить информацию пользователю и запросить ввод. | помощник |
Браузер.Selenium | Управляйте браузерами и автоматизируйте работу в Интернете | х |
Браузер.Драматург | Новый способ управления браузерами | особенный (подробнее ниже) |
Календарь | Для манипуляций с датой и временем | х |
Облако.AWS | Используйте сервисы Amazon AWS | х, оу |
Облако.Лазурь | Используйте службы Microsoft Azure | х |
Облако.Google | Используйте облачные сервисы Google | |
Крипто | Общие операции хеширования и шифрования | х |
База данных | Взаимодействовать с базами данных | х |
Рабочий стол | Кроссплатформенная автоматизация рабочего стола | х |
Рабочий стол.Буфер обмена | Взаимодействие с системным буфером обмена | х |
Рабочий стол.Операционная система | Чтение информации об ОС и управление процессами | х |
ДокументAI | Оболочка интеллектуальной обработки документов | х |
ДокументAI.Base64AI | Служба интеллектуальной обработки документов | х |
ДокументAI.Nanonets | Служба интеллектуальной обработки документов | х |
Электронная почта.Обмен | Операции с электронной почтой (протокол Exchange) | х |
Электронная почта.ImapSmtp | Операции с электронной почтой (IMAP и SMTP) | х |
Excel.Приложение | Управление настольным приложением Excel | х |
Excel.Файлы | Работайте с файлами Excel напрямую | х |
Файловая Система | Чтение и управление файлами и путями | х |
FTP | Взаимодействие с FTP-серверами | х |
HTTP | Взаимодействуйте напрямую с веб-API | х |
Хабспот | Доступ к объектам данных HubSpot CRM | центральное пятно |
Изображения | Манипулирование изображениями | х |
JavaAccessBridge | Управление Java-приложениями | х |
JSON | Манипулировать объектами JSON | х |
МИД | Аутентификация с использованием одноразовых паролей (OTP) и OAuth2. | х |
Уведомитель | Уведомлять сообщения с помощью различных сервисов | х |
ОпенАИ | Служба искусственного интеллекта | опенай |
Outlook.Приложение | Управление настольным приложением Outlook | х |
Чтение и создание PDF-документов | х,pdf | |
Робокорп.Процесс | Используйте API процессов Robocorp | х |
Робокорп.WorkItems | Используйте API рабочих элементов Robocorp | х |
Робокорп.Хранилище | Используйте API секретов Робокорп | х |
Робокорп.Хранение | Используйте API хранилища активов Robocorp | х |
Salesforce | Операции Salesforce | х |
САП | Управление настольным клиентом SAP GUI | х |
Смартлист | Доступ к листам Smartsheet | х |
Таблицы | Манипулирование, сортировка и фильтрация табличных данных | х |
Задачи | Контролировать выполнение задач | х |
Твиттер | API-интерфейс Твиттера | х |
Окна | Альтернативная библиотека для автоматизации Windows | х, окна |
Word.Приложение | Управление настольным приложением Word | х |
RPA.Browser.Playwright на данный момент требует специальной установки, поскольку из-за размера пакета и этапа после установки его необходимо установить полностью.
Минимальный файл conda.yaml для установки Playwright:
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
Отдельная установка библиотек 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
Метод установки с помощью pip с использованием Python venv:
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+. Версия Python по умолчанию, используемая в шаблоне робота Робокорп, — 3.9.16, поэтому это хороший выбор для установки. Не рекомендуемые версии — 3.7.6 и 3.8.1, поскольку в них есть проблемы с некоторыми зависимостями, связанными с rpaframework
. В настоящее время более новые версии Python, начиная с 3.11, также не рекомендуются, поскольку некоторые зависимости могут вызвать проблемы.
Инструменты разработки репозиториев основаны на поэтике и вызове. Poetry — это основной инструмент, используемый для компиляции, сборки и запуска пакета. Invoke используется для целей написания сценариев, например, для задач проверки, тестирования и публикации.
Прежде чем писать какой-либо код, прочтите и ознакомьтесь с нашим обширным руководством для разработчиков.
Первые шаги для начала разработки:
poetry config virtualenvs.path null
poetry config virtualenvs.in-project true
poetry config repositories.devpi " https://devpi.robocorp.cloud/ci/test "
git клонировать репозиторий
создайте новую ветку Git или переключитесь на правильную ветку или останьтесь в основной ветке
poetry install
, которая устанавливает пакет с его зависимостями в каталог .venv пакета, например packages/main/.venv
при тестировании на роботе Robocorp, который использует devdata/env.json
poetry build
и используйте полученный файл .whl (в каталоге dist/ ) в файле Robot conda.yaml.poetry build
и поместите полученный файл .whl (в каталоге dist/ ) в репозиторий и используйте необработанный URL-адрес, чтобы включить его в файл conda.yaml робота.poetry publish --ci
и указав conda.yaml , чтобы использовать версию rpaframework в devpi. 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, определенные в каталоге packagestests/ )
poetry run pytest path/to/test.py::test_function
inv testrobot -r <robot_name> -t <task_name>
git зафиксировать изменения
git push изменения на удаленный
создать пул-реквест из ветки, описывающей изменения, включенные в описание
обновить docs/source/releasenotes.rst с изменениями (зафиксировать и отправить)
Упаковка и публикация выполняются после того, как изменения были объединены в основную ветку. Все следующие шаги следует выполнять в основной ветке.
invoke lint
и invoke test
poetry update
invoke publish
после того, как действие Github в главной ветке станет зеленымНекоторые рекомендуемые инструменты для разработки
Visual Studio Code как редактор кода со следующими расширениями:
- Кодекс Робокорпорации
- Языковой сервер Robot Framework
- GitLens
- Расширение Python
GitHub Desktop сделает управление версиями менее подверженным ошибкам
Этот проект имеет открытый исходный код и лицензируется на условиях Apache License 2.0.