テスト結果をUiPath Data Serviceに格納し、テスト成績書を作成する #3

# はじめに

みなさん、こんにちわ！

この記事はUiPathブログ発信チャレンジ2021サマーの21日目です。
UiPath Test Suiteによるアプリケーションテスト自動化において、UiPath Platform のシナジー効果を活かした活用法を、いくつかの構成でご紹介します。本記事はテスト結果をUiPath Data Serviceへ連携した上で、Attendedロボットを利用してテスト成績書を作成するステップです。

:::note warn
2021年4月時点のコミュニティ向けAutomation Cloud及びUiPath Studio Pro Community Edition v21.4を利用しています。今後、UiPath Test Suiteは、UiPath Data Serviceと連携する予定ですが、先んじて独自のアイデアで連携したものです。将来は、もっと画期的な連携になっていることでしょう。
:::

#前提

本記事は、下記の続編となります。
先に、参照頂くことをお勧めします。

https://qiita.com/Jun96427231/items/6dc41df8be321825db94

https://qiita.com/Jun96427231/items/ec4b074932ff63628e5a

#テスト結果を外部にエキスポートする標準の方法
テストロボットで実行した検証結果は、Orchestrator及びTest Managerに記録されており閲覧可能ですが、ユーザーのオペレーションでエキスポートする機能がありません。そのため、下記の方法で行います。

1. Orchestrator APIでOrchestratorに記録されている検証結果を取得する方法

2. Test Maneger APIでTest Manegerに記録されている検証結果を取得する方法

3. Test Manegerとレポート作成ソリューションをビューのネイティブSQLで接続、もしくはODBC接続で取得する方法

https://docs.uipath.com/test-suite/lang-ja/docs/using-external-reporting-tools


#UiPath Data Serviceにテスト結果を記録して、外部にエキスポートする方法

Auomation Cloud利用時に限定されますが、テスト結果をData Serviceにレコード単位で記録する処理をテストコードに組み込んでおきます。レポート作成時は、「エンティティ レコードにクエリを実行」アクティビティで、Data Serviceから、テスト成績書に必要な情報を簡単に取得し、生成することができます。勿論、複数のテストロボットから登録されていくのでテスト結果もData Serviceで一元管理できます。
下図に、試みた仕組みを記載します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/c5fbfcbc-2b93-46c6-41d1-5fb9280e7b01.png)

初回テストはAction Centerで人が確認しますが、この時の確認者もData Serviceに記録すると言ったこともできます。この様に、テスト成績書に記載したい項目は、Data Serviceのフィールドを設けて置けば自由にできると言うことです。また、Data Serviceのレコードには、ファイルの添付も可能です。この事例ではテスト結果の画像を添付しています。テスト成績書を生成する際は、画像付きのものを作成できると言うことです。

:::note info
標準では検証アクティビティの設定により、OrchestratorやTest Manegerに検証時の画面全体のスクリーンショットが格納されています。もし、標準の方法で、検証要素の画像や、差分のあった差分画像等もOrchestrator、Test Manegerに格納したい場合、「ドキュメントを添付」アクティビティを利用した処理をテストコードに組み込んでおくことで実現は可能です。
:::


:::note warn
Data Serviceにはライセンスごとに1つのデータサービスユニットが付与され、このユニット単位でデータ ストレージ容量、添付ファイルストレージ容量、1日あたりの最大API 呼び出し数に制限があります。
:::

https://docs.uipath.com/data-service/lang-ja/docs/license-allocation

##Data Serviceに格納したテスト結果の一元管理
下記の例では、「テストケース名」、「テスト項目番号」、「テスト結果」、「テスト結果の画像のエビデンス」、「確認者」、「テスト実行日時」が格納されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/4f317bb7-4cc2-18e8-6e16-9227f691225d.png)

##Attended RobotでData Serviceからテスト結果を取得し、テスト成績書を作成する
「エンティティ レコードにクエリを実行」アクティビティを利用し、指定したクエリでデータ取得が簡単に行えます。その後、添付の画像取得は「ファイルをレコードのフィールドからダウンロード」アクティビティで行います。
Excelシートに画像を挿入する場合は、「シートに画像を挿入」アクティビティの利用が、とっても便利です。

では、ライセンスに付いているAttended Robotを使ってPIPでレポート作成開始！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/8bac8329-1416-2857-b4a2-6f413048f3bb.png)

外部に提出可能なテスト成績書が出来ました！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/9d74d8be-2658-7eac-e64a-e2ed08e45dc6.png)

UiPathでテスト自動化を行う大きなメリットは、一般的なテストツールと異なり、テストツールの提供機能に依存せずに、独自で、この様な作業を自由自在に実現できることです。つまり、人の行うテストに関わる作業を限りなく模倣し、幅広く自動化できる点ですね。

:::note info
この内容は2021年6月15日 - 7月16日の間で開催された「UiPath Developer Conference 2021」の「UiPath Test Suite がよくわかる！テスト10選」のセッションでも、本デモを交えて解説させて頂きました。
:::

#終わりに

UiPath Test Suiteでテスト自動化を進められる方は、UiPath Platformの製品も広く理解して置くと、効率的な活用方法が実現できたりします。UiPath Studio Proでの開発手法も熟知していれば、安定動作するテストコードが作成できる、メンテナンス性や生産性も高めることもできる、Activityを幅広く知っていれば、それだけ色々な独自機能も付加できます。一般のテストツールと異なり、ツールの機能提供を待つ必要がない！
UiPat Test Suiteで、あなたの最適なテスト自動化の環境を構築して見ませんか。
UiPath Test Suiteによるアプリケーションテスト自動化については、下記コラムもご参考に！

https://www.fsi.co.jp/blog/5942/

https://www.fsi.co.jp/blog/5963/