Wir überlegen, die Verwendung unserer Schlüsselwörter zu verbessern, um Situationen abzudecken, in denen Entwickler möglicherweise Schwierigkeiten haben, Aufgaben für einen Roboter reibungslos zu schreiben. Beschreiben Sie die Situation, in der sich Ihre Implementierungsgeschwindigkeit aufgrund des Fehlens einer einfacheren Syntax verlangsamt .
Kommentieren Sie HIER
RPA Framework ist eine Sammlung von Open-Source-Bibliotheken und Tools für Robotic Process Automation (RPA) und ist für die Verwendung sowohl mit Robot Framework als auch Python konzipiert. Ziel ist es, gut dokumentierte und aktiv gepflegte Kernbibliotheken für Software-Roboter-Entwickler anzubieten.
Erfahren Sie mehr über RPA in der Robocorp-Dokumentation.
Das Projekt ist:
Von den oben genannten Paketen sind rpaframework -core
und rpaframework -recognition
Supportpakete, die allein keine Bibliotheken enthalten.
Das RPA Framework-Projekt umfasst derzeit die folgenden Bibliotheken:
Das x
in der Spalte PACKAGE bedeutet, dass die Bibliothek im rpaframework Paket enthalten ist und beispielsweise. x,pdf
bedeutet, dass RPA.PDF
-Bibliothek sowohl in den Paketen rpaframework als auch rpaframework -pdf bereitgestellt wird.
BIBLIOTHEKSNAME | BESCHREIBUNG | PAKET |
Archiv | Archivierung von TAR- und ZIP-Dateien | X |
Assistent | Informationen einem Benutzer anzeigen und Eingaben anfordern. | Assistent |
Browser.Selenium | Steuern Sie Browser und automatisieren Sie das Web | X |
Browser.Dramatiker | Neuere Möglichkeit, Browser zu steuern | speziell (mehr unten) |
Kalender | Für Datums- und Uhrzeitmanipulationen | X |
Cloud.AWS | Nutzen Sie Amazon AWS-Dienste | x,aws |
Cloud.Azure | Nutzen Sie Microsoft Azure-Dienste | X |
Cloud.Google | Nutzen Sie Google Cloud-Dienste | |
Krypto | Gängige Hashing- und Verschlüsselungsvorgänge | X |
Datenbank | Interagieren Sie mit Datenbanken | X |
Desktop | Plattformübergreifende Desktop-Automatisierung | X |
Desktop.Zwischenablage | Interagieren Sie mit der Systemzwischenablage | X |
Desktop.Betriebssystem | Lesen Sie Betriebssysteminformationen und manipulieren Sie Prozesse | X |
DocumentAI | Intelligenter Dokumentenverarbeitungs-Wrapper | X |
DocumentAI.Base64AI | Intelligenter Dokumentenverarbeitungsdienst | X |
DocumentAI.Nanonets | Intelligenter Dokumentenverarbeitungsdienst | X |
E-Mail-Austausch | E-Mail-Vorgänge (Exchange-Protokoll) | X |
Email.ImapSmtp | E-Mail-Vorgänge (IMAP & SMTP) | X |
Excel.Anwendung | Steuern Sie die Excel-Desktopanwendung | X |
Excel.Dateien | Bearbeiten Sie Excel-Dateien direkt | X |
Dateisystem | Dateien und Pfade lesen und bearbeiten | X |
FTP | Interagieren Sie mit FTP-Servern | X |
HTTP | Interagieren Sie direkt mit Web-APIs | X |
Hubspot | Greifen Sie auf HubSpot CRM-Datenobjekte zu | hubspot |
Bilder | Bilder manipulieren | X |
JavaAccessBridge | Steuern Sie Java-Anwendungen | X |
JSON | Bearbeiten Sie JSON-Objekte | X |
MFA | Authentifizieren Sie sich mit Einmalpasswörtern (OTP) und OAuth2 | X |
Benachrichtiger | Benachrichtigen Sie Nachrichten über verschiedene Dienste | X |
OpenAI | Dienst für künstliche Intelligenz | openai |
Outlook.Anwendung | Steuern Sie die Outlook-Desktopanwendung | X |
Lesen und erstellen Sie PDF-Dokumente | x,pdf | |
Robocorp.Prozess | Verwenden Sie die Robocorp Process API | X |
Robocorp.WorkItems | Verwenden Sie die Robocorp Work Items API | X |
Robocorp.Vault | Verwenden Sie die Robocorp Secrets API | X |
Robocorp.Storage | Verwenden Sie die Robocorp Asset Storage API | X |
Salesforce | Salesforce-Operationen | X |
SAFT | Steuern Sie den SAP GUI-Desktop-Client | X |
Smartsheet | Greifen Sie auf Smartsheet-Blätter zu | X |
Tische | Bearbeiten, sortieren und filtern Sie Tabellendaten | X |
Aufgaben | Kontrollieren Sie die Aufgabenausführung | X |
Twitter-API-Schnittstelle | X | |
Windows | Alternative Bibliothek für die Windows-Automatisierung | x,Windows |
Word.Anwendung | Steuern Sie die Word-Desktopanwendung | X |
Der RPA.Browser.Playwright erfordert derzeit eine spezielle Installation, da er aufgrund der Paketgröße und des Nachinstallationsschritts vollständig installiert werden muss.
Mindestens erforderliche conda.yaml zur Installation von 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
Erfahren Sie mehr über die Installation von Python-Paketen unter „Installieren von Python-Paketen“.
Standardinstallationsmethode mit Robocorp Developer Tools unter Verwendung von conda.yaml:
channels :
- conda-forge
dependencies :
- python=3.9.16
- pip=22.1.2
- pip :
- rpaframework ==24.1.2
Um alle zusätzlichen Pakete (einschließlich Playwright-Abhängigkeiten) zu installieren, können Sie Folgendes verwenden:
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
Separate Installation von AWS-, PDF- und Windows-Bibliotheken ohne das Haupt- 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
Installationsmethode mit Pip unter Verwendung von Python Venv:
python -m venv .venv
source .venv/bin/activate
pip install rpaframework
Notiz
Python 3.8 oder höher ist erforderlich
Nach der Installation können die Bibliotheken direkt in Robot Framework importiert werden:
*** 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 }
Die Bibliotheken sind auch in Python verfügbar:
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 )
Einen Fehler gefunden? Fehlt Ihnen eine wichtige Funktion? Interessiert an einer Mitarbeit? Sehen Sie sich den Beitragsleitfaden an, um zu erfahren, wo Sie beginnen können.
Die Repository-Entwicklung basiert auf Python und erfordert mindestens die Installation von Python Version 3.8+ auf dem Entwicklungscomputer. Die in der Robocorp Robot-Vorlage verwendete Standard-Python-Version ist 3.9.16 und ist daher eine gute Wahl für die zu installierende Version. Nicht empfohlene Versionen sind 3.7.6 und 3.8.1, da sie Probleme mit einigen Abhängigkeiten im Zusammenhang mit rpaframework
haben. Derzeit werden auch die neueren Python-Versionen ab 3.11 nicht empfohlen, da einige der Abhängigkeiten Probleme verursachen können.
Die Tools für die Repository-Entwicklung basieren auf Poesie und Aufruf. Poetry ist das zugrunde liegende Tool zum Kompilieren, Erstellen und Ausführen des Pakets. Invoke wird für Skripting-Zwecke verwendet, beispielsweise für Linting-, Test- und Veröffentlichungsaufgaben.
Bevor Sie Code schreiben, lesen Sie bitte unseren ausführlichen Entwicklungsleitfaden und bestätigen Sie ihn.
Erste Schritte, um mit der Entwicklung zu beginnen:
poetry config virtualenvs.path null
poetry config virtualenvs.in-project true
poetry config repositories.devpi " https://devpi.robocorp.cloud/ci/test "
Git klont das Repository
Erstellen Sie einen neuen Git-Zweig oder wechseln Sie zum richtigen Zweig oder bleiben Sie im Hauptzweig
poetry install
installiert das Paket mit seinen Abhängigkeiten im .venv -Verzeichnis des Pakets, zum Beispiel packets/main/.venv
beim Testen gegen Robocorp Robot, der devdata/env.json verwendet
poetry build
und verwenden Sie die resultierende .whl-Datei (im dist/ -Verzeichnis) im Roboter conda.yamlpoetry build
und verschieben Sie die resultierende .whl-Datei (im Verzeichnis dist/ ) in ein Repository und verwenden Sie die Roh-URL, um sie in die robot.yaml-Datei einzubindenpoetry publish --ci
und conda.yaml angegeben werden, um rpaframework Version in DevPI zu verwenden 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
, um sicherzustellen, dass die Codeformatierung den rpaframework Repository-Richtlinien entspricht. Es ist möglich und wahrscheinlich, dass die Github-Aktion fehlschlägt, wenn der Entwickler die Codeänderungen nicht korrigiert hat. Die Codeformatierung basiert auf black und flake8 und diese werden mit dem invoke lint
ausgeführt.
Die Bibliotheksdokumentation kann im Repository-Stammverzeichnis erstellt werden (sog. „Meta“-Paketebene). Die Dokumentation wird von den Docgen-Tools unter Verwendung der lokal installierten Version des Projekts erstellt. Lokale Änderungen für das Hauptpaket werden jedes Mal widergespiegelt, wenn Sie die Dokumente generieren. Wenn Sie jedoch lokale Änderungen für optionale Pakete sehen möchten, müssen Sie invoke install-local --package <package_name>
verwenden invoke install-local --package <package_name>
unter Verwendung des entsprechenden Paketnamens (z. B. rpaframework -aws
). Dadurch wird das Paket als lokal bearbeitbare Version statt über PyPI neu installiert. Durch wiederholte Verwendung der Option --package
können mehrere solcher Pakete hinzugefügt werden. Um dies zurückzusetzen, verwenden Sie invoke install --reset
.
poetry update
und/oder invoke install-local --package <package name>
make docs
docs/build/html/index.html
mit dem Browser, um die Änderungen anzuzeigen, oder führen Sie make local
aus und navigieren Sie zu localhost:8000
um Dokumente als lokale Live-Webseite anzuzeigen. # 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
(dadurch werden sowohl Python-Unittests als auch Robotframework-Tests ausgeführt, die im Pakettests /-Verzeichnis definiert sind)
poetry run pytest path/to/test.py::test_function
inv testrobot -r <robot_name> -t <task_name>
Git-Commit-Änderungen
Git Push wechselt zu Remote
Erstellen Sie eine Pull-Anfrage aus dem Zweig, in der die in der Beschreibung enthaltenen Änderungen beschrieben werden
docs/source/releasenotes.rst mit Änderungen aktualisieren (Commit und Push)
Das Packen und Veröffentlichen erfolgt, nachdem die Änderungen im Hauptzweig zusammengeführt wurden. Alle folgenden Schritte sollten innerhalb der Hauptniederlassung durchgeführt werden.
invoke lint
und invoke test
auspoetry update
ausinvoke publish
nachdem die Github-Aktion im Hauptzweig vollständig grün istEinige empfohlene Tools für die Entwicklung
Visual Studio Code als Code-Editor mit folgenden Erweiterungen:
- Robocorp-Code
- Robot Framework-Sprachserver
- GitLens
- Python-Erweiterung
GitHub Desktop wird die Versionsverwaltung weniger fehleranfällig machen
Dieses Projekt ist Open Source und unterliegt den Bedingungen der Apache License 2.0.