NTTドコモR&Dの技術ブログです。

【RPA】UiPathを導入してみた!

はじめに

こんにちは!NTTドコモ サービスデザイン部の遠藤です!

2022年度入社で、現在UiPathを使って社内システムのテスト自動化を推進しています。

「UiPathってなに?」と疑問に思われた方が多数ではないでしょうか…?? この記事では、そのような方向けに

  • UiPathとは何か
  • どんなことができるか
  • UiPathを使ったテスト自動化って?

をご紹介したいと思います!

UiPathとは

UiPathはUiPath株式会社が提供するRPAツールで、世界で広く利用されています。日本では2017年2月に東京オフィスを開設し、2019年7月には日本におけるユーザー企業数が1,000社を突破しているそうです!(https://www.uipath.com/ja/newsroom/2019-07-22

Windows PC上の操作を自動化することができ、UiPathで業務を代替することによって、 ミスの削減、業務の効率化等様々な効果が期待できます!

ここで私が思う他RPAツールと比較したUiPathの特徴をご紹介します!

1. GUIで高度な処理まで作成可能

プログラミングの知識がなくともGUI操作で簡単に自動化のためのシナリオを組むことが出来ます!オンラインの学習コンテンツも充実しているので、初心者でも安心して取り組めます!

2. UI要素認識で変更に強い

従来のRPAツールの多くは画面認識方法として、座標認識、画像認識を採用しています。座標認識は、画面上のピクセル座標で対象を認識します。そのため対象が少しでもずれてしまうと動作しなくなってしまいます。画像認識は、操作対象を画像で認識します。そのため画像に僅かな変化が生じただけでも動かなくなるケースがあります。

一方UiPathはUI要素認識を採用しています。画面上のUI要素(HTML等)を解析し、操作したい対象を認識します。そのため、画面要素のズレ等画面上の変化に強く、従来のRPAツールより、安定した自動化シナリオを作成することが可能です!

3. 試験的にRPAを導入できる

UiPathには複数ライセンスが用意されており、自分のニーズに合った契約プランを選択できます。個人や中小企業向けに無料で使用できるライセンスや有償版を60日間試せるライセンスも用意されており、試験的に段階を踏んでRPAを導入することが可能です。各種ライセンスプランの詳細はこちらを参考にして下さい。

UiPathを使ってみよう!

早速UiPathを使ってみましょう!今回はUiPath無料版を利用し、以下の自動シナリオを作成します!

  • NTTドコモのホームページから企業理念をスクレイピングし、メモ帳に貼り付ける
  • Teamsで会議招集をする

無料版のインストール方法と初期セットアップについては、こちらを参考にして下さい。 また、今回シナリオでChromeを利用しますので、PCにインストールしておいて下さい!

準備:

  1. 無料版のインストールが完了したら、UiPath Studioを起動して下さい。

  2. 起動すると以下のような画面が表示されます。閉じるをクリックします。

  3. UiPathでChromeを利用できるように設定します。「ツール」をクリックします。

  4. 「ツール」→「UiPath拡張機能」からChrome下方のインストールをクリックして下さい。

  5. Chromeを開き、画面右上の「拡張機能」から「拡張機能を管理」をクリックして下さい。

  6. 下記画面に遷移しますので、「UiPath Web Automation」が有効にして下さい。これでChromeの設定は完了です!また、今回の開発でドコモのホームページを使用しますので、Chromeで開いておいてください。

  7. 3の画面に戻り、「新規プロジェクト」よりプロセスをクリックして下さい。すると以下のようなウィンドウが表示されます。自動化プロジェクトの名前、自動シナリオの保存先を設定し、「作成」をクリックします。

  8. 下記画面に遷移します。この画面を使って自動シナリオを作成していきます。

自動シナリオ開発:

  1. 上記画面中央の「Mainワークフローを開く」をクリックして下さい。Main.xamlが開き以下の画面になります。このMainウィンドウに”アクティビティ”と呼ばれる自動化させたいPC操作部品を組み合わせ、自動シナリオを作成します。

  2. アクティビティをMain.xamlに配置してみましょう!今回のシナリオではまず「ドコモのホームページを開く」必要があります。Webページを開くために「アプリケーション/ブラウザーを使用」アクティビティを画面左アクティビティウィンドウから、Mainウィンドウにドラッグし配置します。

  3. 「アプリケーション/ブラウザーを使用 」アクティビティ上で、「自動化するアプリケーションを指定(I)」をクリックして下さい。マウスポインターを先ほど開いたドコモのホームページ上に移動させると、ウィンドウが強調表示されるので、任意の場所をクリックします。すると「アプリケーション/ブラウザーを使用」アクティビティのフィールドに、ホームページURLが追加更新されます。

  4. 3と同じ要領で「テキストを取得」アクティビティを「アプリケーション/ブラウザーを使用」アクティビティの実行フィールドにドラッグします。「次で指定」をクリックし、読み込み済みページからスクレイピングするテキストを選択します。
    ※この時画面右上の「あいまいセレクタ」を無効に、「厳密セレクタ」を有効にして下さい。この設定をしなければ自動シナリオがうまく動作しない場合があります。

  5. 選択したテキスト情報を格納するための変数を作成します。画面中央下の「変数」からで string型のText変数を作成し、そのスコープをシーケンス に設定します。その後、「テキストを取得」アクティビティ上の「保存先」 フィールドに、Text 変数を挿入して下さい。

  6. プロジェクトに別の「アプリケーション/ブラウザーを使用」アクティビティを追加します。「メモ帳」を起動し、3と同じ要領でUiPathに自動でメモ帳を開くよう設定します。

  7. 最後にスクレイピングしたテキストをメモ帳に書き込みます。6で配置した「アプリケーション/ブラウザーを使用」アクティビティの「実行」フィールドに「文字を入力」アクティビティを追加します。「次で指定」をクリックして「メモ帳」 の入力ウィンドウを選択し、「以下を入力」フィールドにText 変数を追加します。 これで自動シナリオの完成です!

  8. リボンの 「ファイルを実行」 をクリックすると、作成したシナリオが動作します。

GUI操作のみで簡単に複数のアプリケーションを連動させるシナリオを作成することが出来ましたね!

具体的な自動化の例

上記シナリオだけでは「業務を自動化する」ということが伝わらないと思うので…。 「Teamsで会議招集をする」シナリオも作ってみました! 業務中手作業で会議招集を行うのは中々手間なので、自動化できたらいいなと常々思っていまして…。この機会に作成してみました!

仕組みは簡単です。 Teamsの会議情報をまとめたExcelシートを読み込み、その情報を使い会議招集を発行します。

以下実行の様子です!

このような事務作業もUiPathで自動化できちゃいます!

テスト自動化の現状効果

冒頭でも触れましたが、私は現在UiPathを活用した社内システムのテスト自動化を行っています。手動テストの項目を自動シナリオに代替するという試みです。

ここで「本当に手動より効率的に試験ができるの??」と思われた方がほとんどではないでしょうか!この項ではUiPathの現状の効果について記載していこうと思います!

社内システムは「アジャイル開発」で行われているため、その開発スピードに適応できるようテストシナリオを作成しています。テストシナリオ共通動作のライブラリ化やワークフロー開発チーム内での知見共有、UiPath技術者との連携によって、効率的にテストシナリオを作成できるようになりました。現状、実際旧来方式でシステム有識者によって10日かかっていたテスト作業が自動化により誰でも5日で行えるようになっています!

今後について

ここまでUiPathについて簡単に解説してきましたが、如何だったでしょうか? プログラミング未経験者でも扱いやすく、複雑なシナリオを簡単に作成・自動化できるというUiPathの魅力が少しでもお伝え出来たのであれば幸いです!

今後としては、スプリント開発に追従できるようにUiPathテストシナリオの開発体制を整備していく予定です。システム品質を維持しつつ、テスト業務省力化に向けこれからも頑張りたいです!