ベストプラクティス|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倍になってしまいます。一般的なルールとして、同じ画面要素に対して複数のモジュールを持つことは避けたいものです。

次の記事

まだの場合は、他のベストプラクティス記事をご確認ください。