開発者がロボットのタスクをスムーズに作成するのに苦労する可能性がある状況に対応するために、キーワードの使用方法を改善することを検討しています。簡単な構文がないために実装速度が遅くなる状況について説明します。
コメントはこちら
RPA フレームワークは、ロボット プロセス オートメーション (RPA) 用のオープンソース ライブラリとツールのコレクションであり、ロボット フレームワークと Python の両方で使用できるように設計されています。目標は、ソフトウェア ロボット開発者向けに、十分に文書化され、積極的に保守されているコア ライブラリを提供することです。
RPA の詳細については、Robocorp のドキュメントをご覧ください。
プロジェクトは次のとおりです。
上記のパッケージのうち、 rpaframework -core
とrpaframework -recognition
サポート パッケージであり、これのみにはライブラリは含まれません。
RPA フレームワーク プロジェクトには現在、次のライブラリが含まれています。
たとえば、 PACKAGE列のx
、ライブラリがrpaframeworkパッケージに含まれていることを意味します。 x,pdf
、 RPA.PDF
ライブラリがrpaframeworkパッケージとrpaframework -pdfパッケージの両方で提供されていることを意味します。
図書館名 | 説明 | パッケージ |
アーカイブ | TAR および ZIP ファイルのアーカイブ | × |
アシスタント | ユーザーに情報を表示し、入力を要求します。 | アシスタント |
ブラウザ.セレン | ブラウザを制御し、Web を自動化する | × |
ブラウザ.劇作家 | ブラウザを制御する新しい方法 | 特別な (詳細は後述) |
カレンダー | 日付と時刻の操作の場合 | × |
クラウド.AWS | Amazon AWS サービスを使用する | x、AWS |
クラウド.アズール | Microsoft Azureサービスを利用する | × |
クラウド.グーグル | Google Cloud サービスを使用する | グーグル |
暗号 | 一般的なハッシュ操作と暗号化操作 | × |
データベース | データベースと対話する | × |
デスクトップ | クロスプラットフォームのデスクトップオートメーション | × |
デスクトップ.クリップボード | システムクリップボードと対話する | × |
デスクトップ.オペレーティングシステム | OS情報を読み取ってプロセスを操作する | × |
ドキュメントAI | インテリジェントなドキュメント処理ラッパー | × |
DocumentAI.Base64AI | インテリジェント文書処理サービス | × |
DocumentAI.Nanonets | インテリジェント文書処理サービス | × |
電子メール、交換 | 電子メール操作 (Exchange プロトコル) | × |
Email.ImapSmtp | 電子メール操作 (IMAP および SMTP) | × |
Excel.アプリケーション | Excel デスクトップ アプリケーションを制御する | × |
Excel.ファイル | Excelファイルを直接操作する | × |
ファイルシステム | ファイルとパスの読み取りと操作 | × |
FTP | FTPサーバーと通信する | × |
HTTP | Web APIと直接対話する | × |
ハブスポット | HubSpot CRM データオブジェクトへのアクセス | ハブスポット |
画像 | 画像を操作する | × |
Javaアクセスブリッジ | Javaアプリケーションの制御 | × |
JSON | JSON オブジェクトを操作する | × |
MFA | ワンタイムパスワード(OTP)とOAuth2を使用した認証 | × |
通知者 | さまざまなサービスを使用してメッセージを通知する | × |
OpenAI | 人工知能サービス | オープンナイ |
Outlook.アプリケーション | Outlook デスクトップ アプリケーションを制御する | × |
PDF ドキュメントの読み取りと作成 | x,pdf | |
ロボコープのプロセス | Robocorp プロセス API を使用する | × |
Robocorp.WorkItems | Robocorp 作業項目 API を使用する | × |
ロボコープボールト | Robocorp Secrets API を使用する | × |
ロボコープストレージ | Robocorp Asset Storage API を使用する | × |
セールスフォース | Salesforceの運用 | × |
SAP | SAP GUI デスクトップ クライアントの制御 | × |
スマートシート | Smartsheet シートにアクセスする | × |
テーブル | 表形式データの操作、並べ替え、フィルタリング | × |
タスク | タスクの実行を制御する | × |
ツイッター | Twitter APIインターフェース | × |
窓 | Windows オートメーション用の代替ライブラリ | x、ウィンドウ |
Word.アプリケーション | Word デスクトップ アプリケーションを制御する | × |
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
メインの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
注記
Python 3.8 以降が必要です
インストール後、ライブラリをロボット フレームワーク内に直接インポートできます。
*** 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 ロボット テンプレートで使用されるデフォルトの Python バージョンは 3.9.16 なので、インストールするバージョンとしてはこれが適切な選択です。 3.7.6 および 3.8.1 のバージョンは、 rpaframework
に関連する依存関係の一部に問題があるため、推奨されません。現時点では、一部の依存関係によって問題が発生する可能性があるため、3.11 以降の新しい Python バージョンも推奨されません。
リポジトリ開発ツールは詩と呼び出しに基づいています。 Poetry は、パッケージのコンパイル、ビルド、実行に使用される基礎となるツールです。 Invoke は、タスクの lint、テスト、公開などのスクリプト作成の目的で使用されます。
コードを記述する前に、広範な開発ガイドを読んで了承してください。
開発を開始するための最初のステップ:
poetry config virtualenvs.path null
poetry config virtualenvs.in-project true
poetry config repositories.devpi " https://devpi.robocorp.cloud/ci/test "
git clone リポジトリ
新しい Git ブランチを作成するか、正しいブランチに切り替えるか、master ブランチに留まります
poetry install
パッケージとその依存関係をパッケージの.venvディレクトリにインストールします (例: package/main/.venv)
devdata/env.json を使用している Robocorp Robot に対してテストする場合
poetry build
、結果の .whl ファイル ( dist/ディレクトリ内) をロボットのconda.yamlで使用します。poetry build
、結果の .whl ファイル ( dist/ディレクトリ内) をリポジトリにプッシュし、生の URL を使用してロボットのconda.yamlに含めます。poetry publish --ci
によって行い、devpi でrpaframeworkバージョンを使用するようにconda.yamlを指定します。 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>
使用する必要があります。 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
に移動してドキュメントをライブ ローカル Web ページとして表示します。 # 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
(これにより、パッケージtesting/ ディレクトリで定義された Python 単体テストとロボットフレームワーク テストの両方が実行されます)
poetry run pytest path/to/test.py::test_function
inv testrobot -r <robot_name> -t <task_name>
git コミットの変更
git Push はリモートに変更を加えます
説明に含まれる変更を説明するブランチからプルリクエストを作成します
docs/source/releasenotes.rst を変更して更新します (コミットとプッシュ)
パッケージ化と公開は、変更が master ブランチにマージされた後に行われます。以下のすべての手順は、master ブランチ内で実行する必要があります。
invoke lint
てinvoke test
poetry update
実行します。invoke publish
開発に推奨されるツールのいくつか
次の拡張機能を備えたコード エディターとしての Visual Studio Code:
- ロボコープコード
- ロボット フレームワーク言語サーバー
- GitLens
- Python 拡張機能
GitHub Desktop によりバージョン管理でエラーが発生しにくくなります
このプロジェクトはオープンソースであり、Apache License 2.0 の条件に基づいてライセンスされています。