7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[RPA] UiPath Friends 公式Advent Calendar 2020

Day 24

UiPath Test Suiteのイメージバリデーションテンプレートを作成して見た! #1

Last updated at Posted at 2020-12-23

はじめに

みなさん、こんにちわ!

UiPath Test Suiteは多くの自動テストの専門家が工夫し、組み上げてきた最適なテスト環境をパッケージ化したオールインワンソリューションです!
加えて、もっともお金をかけて開発したGUIテストの自動化ツールだとも言えます!(笑)

今回は、そのUiPath Test Suiteでイメージバリデーションは出来るの?と聞かれることが多くなってきたので、記事を書くことにしました。
UiPath.Testing.Activitiesには入っていませんが、UiPathマーケットプレースのコンポーネントを活用することで、勿論、出来ます!
これを実現するテンプレートをUiPathマーケットプレースに公開しましたので、合わせてご利用ください!

#1.概要
UiPath Test Suiteのイメージバリデーションを実現するための、テンプレートです。
このテンプレートは、Webアプリケーション「UiBank」を使用していますので、これをベースにテスト対象のアプリケーション向けにカスタマイズして使用してください。

依存関係
・UiPathTeam.ImageComparison.Activities 2.1.0
1.png

互換性
・UiPath.Studio Pro 20.10.2

#2.テンプレート実行手順

###(1) Data-Driven Loan.xamlを開きます。

2.png

###(2) デザインメニューの「Debug File」>「Run file with data variations」をクリックします。
3.png

###(3) 全データを選択し「Run」をクリックします。
4.png

###(4) データドリブンでテストが実行されます。
5.png
6.png

###(5)ImageDataフォルダにイメージデータファイルが格納されています。
7.png

###(6) (2)の手順から再度、実行してください。実行が終了するとOutputパネルに検証結果が全て成功で表示されています。
8.png

###(7) Loan Quotes.xlsxを開き、セルのC3の値を10なら3、3なら10に変更して保存します。
9.png

###(8) Data-Driven Loan.xamlを選択し、右クリックでメニューを開き、「Remove Test Data」を選択します。
10.png

###(9) Data-Driven Loan.xamlを選択し、右クリックでメニューを開き、「AddTest Data」を選択します。
11.png

###(10) Variation Fileの「Loan Quotes.xlsx」を再度セットします。
12.png


###(11) (2)の手順から再実行してください。実行が終了するとOutputパネルに失敗が1つ表示されます。
13.png

###(12) ImageDataフォルダにExpectedImage2_NG.pngが格納されています。
14.png

###(13) ExpectedImage2_NG.pngを開きます。
差異のある部分を赤で強調された画像が保存されています。
15.png


#3.解説

###(1) ファイルの説明
無題.png

###(2) Variation File「Loan Quotes.xlsx」の説明
LoanEmail、LoanAmount、LoanTerm、LoanIncome、LoanAgeは、登録データです。
LoanGrantedは登録の結果です。ワークフローではローン承認の結果の分岐で使用しています。
ExpectedImagePathは、期待画像のファイルパスを入れます。
16.png

###(3) 検証処理の説明
引き渡されたデータのLoanGrantedがNoの場合は、ローンの承認ができない画面が表示されます。
期待画像と比較する要素の画像をイメージバリデーション機能のサブワークフローに渡して検証します。
※比較する画像はスクリーン全体ではなく、必要な部分に絞った要素にしておくことをお勧めします。
       
17.png

引き渡されたデータのLoanGrantedがYesの場合は、ローンの承認の画面が表示されます。
期待画像と比較する要素の画像をイメージバリデーション機能のサブワークフローに渡して検証します。ただし、ローンIDが動的に生成/表示されるため、この部分は事前にマスクしておきます。
        
18.png


###(4) イメージバリデーション機能の説明
期待画像のファイルが見つからない場合は、引き渡されてきた画像データを次回実行時に比較する期待画像として保存します。
初回は保存された期待画像の目視確認は必要ですが、一度、実行すれば期待画像を自動的に取得し保存する便利な仕組みです。期待画像ファイルを削除しておくと、期待画像の取り直しが可能となります。

「Compare Two Image Files Using Threshold」アクティビティで引き渡されてきた画像データと期待画像を比較します。ピクセル単位の比較では、スクリーンショットの1ピクセルの差異で失敗し、検証が安定しないケースが多いため、閾値が指定できる本アクティビティを利用しています。差異部分を強調する画像出力も可能になっています。
※閾値や検証アクティビティでDistortionと比較している値は必要であれば調整してください。

             19.png

まとめ

UiPath.Testing.Activitiesに検証アクティビティはありますが2020.10.2の時点で検証機能は入ってません。ただUiPathマーケットプレースには検証機能の作成で有用なコンポーネントがいくつもあります!
例えば、Webアプリの文字の色やボタンの背景色を検証したりとか、色々(笑)!

今回は、テスト自動化で誰もが実現を検討するイメージバリデーションの対応策をご紹介させて頂きました!

UiPath Test Suiteによるアプリケーションテスト自動化については、下記コラムもご参考に!

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?