on modal action

テスト自動化の意図したフローを妨げる可能性のあるモーダルダイアログボックスが表示された場合に呼び出すべきアクションを指定します。
名前説明タイプ修飾子
action

(任意)モーダルダイアログボックスが表示された際に実行されるアクションの名前です。 (詳細)

Stringなし
なし
このアクションは、次のプロジェクト項目で使用できます: テストモジュールおよびユーザー定義アクションです。
次の設定はこのアクションに適用可能です:  remove double quotes from cells.

シナリオ: 開発中のAUTが時折、予期せぬ例外をスローし、モーダルダイアログが表示される可能性があることを把握しています。テストがどこで発生しても、そのような例外を優雅に処理し、ダイアログを解除して自動化を続行できるようにしたいと思っています。また、ダイアログに表示されるエラーメッセージも記録したいです。したがって、この状況を処理するアクションラインは、以下のようになることを希望しています:

  1. モーダルダイアログボックスが予期せず表示された場合、ビルトインアクション capture screen を用してスクリーンショットを撮影します。
  2. Continue ボタンをクリックして、 例外ダイアログには常に存在するべき要素は、ダイアログを閉じて自動化を続行するためのものです;または
  3. 「未処理の例外」ダイアログ以外のモーダルダイアログが表示されている可能性を許可します、 このダイアログには Continue ボタンがない場合もあります。 したがって、もし手順に従って Continueボタンが見つからない場合は、ビルトインアクション close window を使用して、モーダルダイアログボックスを閉じる試みを行います。

アクションライン
        
          	action
on modal action	modal dialog handler
	&nbsp
config	
	&nbsp
start application	
        
    
TestArchitectでは、「modal dialog handler」という名前のアクション定義が宣言されています。
        
            	image location	
capture screen	D:\images\exception.bmp	
	&nbsp	
	variable	
get modal definition	modal	
&nbsp		
	window	control
if control exists	#modal	[ta class=button,text=continue]
&nbsp		
	window	control
click	#modal	[ta class=button,text=continue]
	&nbsp		
else		
&nbsp		
	window	
close window	#modal	
        
    
結果

自動実行中のテスト手順の19行目で、予期しないモーダルダイアログボックスが表示されます。これにより、モーダルダイアログハンドラアクションがダイアログを解除します。その後、TestArchitect は、ハンドラアクションを呼び出す前に実行された最後のアクション(19行目)から通常の自動化を再開します。

  • ディレクティブな on modal action は、2つの条件によってトリガーされます。
    • TestArchitect の自動化が、UI対話型アクションを実行する過程で指定されたUIオブジェクトを見つけられない場合(モーダルアクション指示がない場合、自動化エラーが発生する可能性があります)およびモーダルダイアログボックスの存在します。
  • トリガーが作動すると、次のいずれかの結果が得られます:
    • on modal action の引数 action で指定されたハンドラアクションの実行
    • ダイアログボックスを直接閉じる試みます。(引数 action が提供されない場合のデフォルト)
  • 現在のモーダルダイアログボックスの定義を取得するためには、以下の手順を実行します。ビルトインアクション get modal definition を使用します。
  • on modal action directive がトリガーされると、ハンドラーアクションは最大で5回(デフォルト) 呼び出されます。(実際の再試行回数は、ビルトイン設定 modal close attempt によって定義されます) 。ハンドラーアクションから制御が戻るたびに、TestArchitect は、ハンドラーアクションを呼び出す前に実行された最後のアクションから通常の自動化を再開しようと試みます。ダイアログが解除されない場合、またはアクションの再実行によってダイアログがすぐに再度アクティブ化される場合、最大で <modal close attempts> 回ハンドラーアクションが呼び出されます。その後、on modal action ディレクティブが解除されます(つまり、ハンドラへの追加の呼び出しが行われなくなります)、そしてトリガーアクションによって生成されるさらなる自動化エラーはもはや抑制されません。
  • on modal action の実行は、既存の on modal action ディレクティブを置き換えます。つまり、テスト実行のある時点で、対象の条件を満たすモーダルダイアログが表示された場合、最後に実行されたon modal actionアクションのハンドラーアクション(またはクローズディレクティブ)がトリガーされることになります。
  • このアクションは修飾子 <ignore> をサポートしています。文字列 <ignore> が引数の値として現在する場合、または引数に <ignore> と評価する式を含まれている場合はアクションが実行中にスキップされます。

Copyright © 2024 LogiGear Corporation. All rights reserved. LogiGear is a registered trademark, and Action Based Testing and TestArchitect are trademarks of LogiGear Corporation. All other trademarks contained herein are the property of their respective owners.

LogiGear Corporation

1730 S. Amphlett Blvd. Suite 200, San Mateo, CA 94402

Tel: +1 (650) 572-1400