Nous cherchons à améliorer notre utilisation des mots clés pour couvrir les situations dans lesquelles les développeurs pourraient avoir du mal à écrire facilement une tâche pour un robot. Décrivez la situation dans laquelle votre vitesse de mise en œuvre ralentit en raison du manque de syntaxe plus simple.
Commentez ICI
RPA Framework est un ensemble de bibliothèques et d'outils open source pour l'automatisation des processus robotiques (RPA), conçu pour être utilisé à la fois avec Robot Framework et Python. L'objectif est d'offrir des bibliothèques de base bien documentées et activement entretenues pour les développeurs de robots logiciels.
Apprenez-en davantage sur la RPA sur Robocorp Documentation.
Le projet est :
Parmi les packages ci-dessus, rpaframework -core
et rpaframework -recognition
sont des packages de support, qui à eux seuls ne contiennent aucune bibliothèque.
Le projet RPA Framework comprend actuellement les bibliothèques suivantes :
Le x
dans la colonne PACKAGE signifie que la bibliothèque est incluse dans le package rpaframework et par exemple. x,pdf
signifie que la bibliothèque RPA.PDF
est fournie dans les packages rpaframework et rpaframework -pdf .
NOM DE LA BIBLIOTHÈQUE | DESCRIPTION | EMBALLER |
Archive | Archivage des fichiers TAR et ZIP | x |
Assistant | Afficher des informations à un utilisateur et demander une saisie. | assistant |
Navigateur.Selenium | Contrôlez les navigateurs et automatisez le Web | x |
Navigateur.Playwright | Une nouvelle façon de contrôler les navigateurs | spécial (plus ci-dessous) |
Calendrier | Pour les manipulations de date et d'heure | x |
Cloud.AWS | Utiliser les services Amazon AWS | x,aws |
Cloud.Azure | Utiliser les services Microsoft Azure | x |
Cloud.Google | Utiliser les services Google Cloud | |
Cryptomonnaie | Opérations courantes de hachage et de chiffrement | x |
Base de données | Interagir avec des bases de données | x |
Bureau | Automatisation de bureau multiplateforme | x |
Bureau.Presse-papiers | Interagir avec le presse-papiers du système | x |
Bureau.Système d'exploitation | Lire les informations du système d'exploitation et manipuler les processus | x |
DocumentAI | Wrapper de traitement intelligent des documents | x |
DocumentAI.Base64AI | Service de traitement intelligent des documents | x |
DocumentAI.Nanonets | Service de traitement intelligent des documents | x |
E-mail.Exchange | Opérations de courrier électronique (protocole Exchange) | x |
Email.ImapSmtp | Opérations de messagerie (IMAP et SMTP) | x |
Excel.Application | Contrôler l'application de bureau Excel | x |
Fichiers Excel | Manipulez directement les fichiers Excel | x |
Système de fichiers | Lire et manipuler des fichiers et des chemins | x |
FTP | Interagissez avec les serveurs FTP | x |
HTTP | Interagissez directement avec les API Web | x |
Hubspot | Accéder aux objets de données HubSpot CRM | point central |
Images | Manipuler des images | x |
JavaAccessBridge | Contrôler les applications Java | x |
JSON | Manipuler les objets JSON | x |
MFA | Authentifiez-vous à l'aide de mots de passe à usage unique (OTP) et OAuth2 | x |
Notifiant | Notifier les messages en utilisant différents services | x |
OpenAI | Service d'Intelligence Artificielle | ouvert |
Outlook.Application | Contrôler l'application de bureau Outlook | x |
Lire et créer des documents PDF | x,pdf | |
Robocorp.Processus | Utiliser l'API de processus Robocorp | x |
Robocorp.WorkItems | Utiliser l'API des éléments de travail Robocorp | x |
Robocorp.Vault | Utilisez l'API Robocorp Secrets | x |
Robocorp.Stockage | Utiliser l'API de stockage d'actifs Robocorp | x |
Force de vente | Opérations Salesforce | x |
SÈVE | Contrôler le client de bureau SAP GUI | x |
Feuille intelligente | Accéder aux feuilles Smartsheet | x |
Tableaux | Manipuler, trier et filtrer les données tabulaires | x |
Tâches | Exécution des tâches de contrôle | x |
Gazouillement | Interface API Twitter | x |
Fenêtres | Bibliothèque alternative pour l'automatisation Windows | x, fenêtres |
Word.Application | Contrôler l'application de bureau Word | x |
Le RPA.Browser.Playwright nécessite actuellement une installation spéciale, en raison de la taille du package et de l'étape de post-installation, il doit être entièrement installé.
Conda.yaml minimum requis pour installer 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
Découvrez comment installer les packages Python dans Installation des packages Python.
Méthode d'installation par défaut avec Robocorp Developer Tools à l'aide de conda.yaml :
channels :
- conda-forge
dependencies :
- python=3.9.16
- pip=22.1.2
- pip :
- rpaframework ==24.1.2
Pour installer tous les packages supplémentaires (y compris les dépendances Playwright), vous pouvez utiliser :
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
Installation séparée des bibliothèques AWS, PDF et Windows sans le rpaframework
principal :
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
Méthode d'installation avec pip en utilisant Python venv :
python -m venv .venv
source .venv/bin/activate
pip install rpaframework
Note
Python 3.8 ou supérieur est requis
Après l'installation, les bibliothèques peuvent être directement importées dans 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 }
Les bibliothèques sont également disponibles dans 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 )
Vous avez trouvé un bug ? Il manque une fonctionnalité critique ? Intéressé à contribuer? Rendez-vous sur le guide de contribution pour savoir par où commencer.
Le développement du référentiel est basé sur Python et nécessite au minimum la version 3.8+ de Python installée sur la machine de développement. La version Python par défaut utilisée dans le modèle Robocorp Robot est la 3.9.16, c'est donc un bon choix pour la version à installer. Les versions non recommandées sont 3.7.6 et 3.8.1, car elles présentent des problèmes avec certaines dépendances liées à rpaframework
. À l'heure actuelle, les versions les plus récentes de Python à partir de la 3.11 ne sont pas non plus recommandées, car certaines dépendances peuvent causer des problèmes.
Les outils de développement de référentiels sont basés sur la poésie et l'invocation. La poésie est l'outil sous-jacent utilisé pour compiler, construire et exécuter le package. Invoke est utilisé à des fins de script, par exemple pour les tâches de peluchage, de test et de publication.
Avant d'écrire un code, veuillez lire et reconnaître notre guide de développement complet.
Premières étapes pour commencer à développer :
poetry config virtualenvs.path null
poetry config virtualenvs.in-project true
poetry config repositories.devpi " https://devpi.robocorp.cloud/ci/test "
git clone le dépôt
créez une nouvelle branche Git ou passez à la bonne branche ou restez dans la branche principale
poetry install
qui installe le package avec ses dépendances dans le répertoire .venv du package, par exemple packages/main/.venv
si vous testez avec Robocorp Robot qui utilise devdata/env.json
poetry build
et utilisez le fichier .whl résultant (dans le répertoire dist/ ) dans le robot conda.yamlpoetry build
et transférez le fichier .whl résultant (dans le répertoire dist/ ) dans un référentiel et utilisez l'URL brute pour l'inclure dans le Robot conda.yamlpoetry publish --ci
et en pointant conda.yaml pour utiliser la version rpaframework dans 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
pour vous assurer que le formatage du code est conforme aux directives du référentiel rpaframework . Il est possible et probable que l'action de Github échoue si le développeur n'a pas modifié les modifications du code. Le formatage du code est basé sur black et flake8 et ceux-ci sont exécutés avec l' invoke lint
.
la documentation de la bibliothèque peut être créée à la racine du référentiel (appelé niveau du package "méta"). La documentation est construite par les outils docgen en utilisant la version installée localement du projet, les modifications locales pour le package principal seront reflétées à chaque fois que vous générez la documentation, mais si vous souhaitez voir les modifications locales pour les packages facultatifs, vous devez utiliser invoke install-local --package <package_name>
en utilisant le nom du package approprié (par exemple, rpaframework -aws
). Cela réinstallera ce package en tant que version modifiable locale au lieu de PyPI. Plusieurs de ces packages peuvent être ajoutés en répétant l’utilisation de l’option --package
. Afin de réinitialiser cela, utilisez invoke install --reset
.
poetry update
et/ou invoke install-local --package <package name>
make docs
docs/build/html/index.html
avec le navigateur pour afficher les modifications ou exécutez make local
et accédez à localhost:8000
pour afficher les documents sous forme de page Web locale en direct. # 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
(cela exécutera à la fois les tests unitaires Python et les tests robotframework définis dans le répertoire tests/ du package)
poetry run pytest path/to/test.py::test_function
inv testrobot -r <robot_name> -t <task_name>
changements de commit git
git push passe à distance
créer une pull request depuis la branche décrivant les modifications incluses dans la description
mettre à jour docs/source/releasenotes.rst avec les modifications (commit et push)
L'empaquetage et la publication sont effectués après la fusion des modifications dans la branche principale. Toutes les étapes suivantes doivent être effectuées dans la branche master.
invoke lint
et invoke test
poetry update
invoke publish
après que l'action Github sur la branche principale soit entièrement verteQuelques outils recommandés pour le développement
Visual Studio Code en tant qu'éditeur de code avec les extensions suivantes :
- Code Robocorp
- Serveur de langage Robot Framework
- GitLens
- Extension Python
GitHub Desktop rendra la gestion des versions moins sujette aux erreurs
Ce projet est open source et sous licence selon les termes de la licence Apache 2.0.