ベストプラクティス|Modules|ModuleAttributesの順序
ModuleAttribute とは、特定のモジュールの子要素を意味します。これは、ボタン、フィールド、テーブルセル、メニューなど、テスト対象アプリケーションの1つの画面要素を技術的に表現したものです。
モジュールを作成するためにアプリケーションをスキャンすると、Tosca は ModuleAttributesを特定の順序で保存します。この順序は、アプリケーションコード内のコントロールの階層によって決まります。そして実行時には、Toscaは上から下へと処理します。
これは、すべてのTestCaseでうまく機能するとは限りません。例えば、ユーザーインターフェース:
ログイン画面のコントロールを見てみましょう。
ユーザーはクレデンシャルを入力し、必要であればRemember Me を選択し、そしてログインを選択する必要があります。ログインを選択すると、別画面が表示されます。
ですが、コード内のコントロールの表示方法により、出来上がったモジュールは次のようになります:
スキャンの後のモジュールのコントロール。
Remember Me を含むシーケンス全体をテストしたい場合、これによって問題が発生します。
実行時に、Toscaはテストシーケンスの最後のステップとしてRemember Me のチェックボックスを選択します。前のログインステップでは、 Remember Me が存在しない別の画面にユーザーを移動させるため、このステップは失敗となります。
さまざまな解決策があります。
-
オプション 1: 同じモジュールから 2 つの連続したテストケースを作成します。最初のテストケースでは、クレデンシャルを入力し、 Remember me を選択します。2番目のテストケースでは、ログインを選択します。
-
オプション 2: TestCaseを作成する前に、ドラッグ&ドロップで ModuleAttributes を並べ替えます。
この例では、2というオプションが明らかに有効です。実行可能なテストシーケンスは1つだけです。
「モジュール」のコントロール : 正しい順序になりました。
複数の実行可能なシーケンスを持つインターフェースでは、少し厄介です。努力の度合いについて慎重に検討されることをお勧めします。選択肢1を選んだ場合、どのくらいの追加作業が予想されますか?また、選択肢2を選んだ場合、どのくらいの作業が予想されますか?
やってはいけない操作
ここで、オプション3があるのでは?と思われる方がいるかもしれません。それは、モジュールをコピー&ペーストして、そのうちの一つからRemember Me ModuleAttributeを削除するという方法です"
このオプションは選択しないことを強くお勧めします。この重複「モジュール」は、ログイン画面の他のコントロールに何か変更があった場合に、メンテナンスの手間が2倍になってしまいます。一般的なルールとして、同じ画面要素に対して複数のモジュールを持つことは避けたいものです。
次の記事
まだの場合は、他のベストプラクティス記事をご確認ください。