マクロファイルの作成
テストシナリオ
以下のテストシナリオを使用して、最初のマクロファイルを作成します。
learn.liferay.comの記事に自分の名前が表示されないことをテストします。 下記の手順で行います。 別のブラウザで手動で操作して手順を確認してください。
-
Liferay Learn サイトに移動します。
-
検索入力フィールドをクリックします。
-
検索キーワードに自分の名前を入力してください。
-
Enterキーを押して、検索キーワードを入力します。
-
検索結果がないことをアサートします。 自分の名前で検索して結果が出る場合は、他の名前を選択してください。
-
利用できる記事がないというメッセージが表示されることをアサートします。
マクロファイルの構築
-
poshi-standalone/poshi-tests/macrosディレクトリに空のファイルを作成し、LiferayLearnSearch.macroという名前を付けます。 -
マクロファイルは、定義ブロックで始まります。 これを
LiferayLearnSearch.macroファイルに追加してください。definition { } -
.macroファイルの定義ブロックの中で、マクロブロックを使って個々のマクロを定義します。 そのためには、マクロキーワードの後に、文字列の識別子名を使用します。 これらのマクロ名はユニークであり、意図された連携を説明するものでなければなりません。 詳細については、 マクロ を参照してください。 このシナリオでは、用語を検索するマクロは、単純に
searchForTermと呼ぶことができます。 -
テストシナリオのステップ2からステップ4は、合わせて1つの検索連携を構成するアクションです。 これらの3つのステップは、
searchForTermマクロブロックの中に含まれます。 これらのアクションは、 関数 と、 パス ファイルの作成 の記事で作成されたロケータを使用してスクリプト化できます。 関数の使用に関する詳細は、 関数を参照してください。このマクロは以下の結果となります。
macro searchForTerm { Default.Click( locator1 = "LiferayLearn#SEARCH_BAR"); Default.Type( locator1 = "LiferayLearn#SEARCH_BAR", value1 = "${searchTerm}"); Default.KeyPress( locator1 = "LiferayLearn#SEARCH_BAR", value1 = "\ENTER"); } -
searchForTermマクロとは別に、テストシナリオでは結果をアサートするための2つ目のマクロを要求しています。 ステップ5と6は別々のアサーションですが、一緒になって検索結果がないことをアサーションするという一つのユーザー連携を形成します。 このマクロは、assertNoResultsという名前にすることができます。macro assertNoResults { Default.AssertElementNotPresent(locator1 = "LiferayLearn#SEARCH_RESULTS", value1 = "${searchTerm}"); Default.AssertElementPresent.assertVisible(locator1 = "LiferayLearn#NO_RESULTS_MESSAGE"); } -
マクロファイルは、次のような結果となります。
definition { macro assertNoResults { Default.AssertElementNotPresent(locator1 = "LiferayLearn#SEARCH_RESULTS", value1 = "${searchTerm}"); Default.AssertElementPresent.assertVisible(locator1 = "LiferayLearn#NO_RESULTS_MESSAGE"); } macro searchForTerm { Default.Click( locator1 = "LiferayLearn#SEARCH_BAR"); Default.Type( locator1 = "LiferayLearn#SEARCH_BAR", value1 = "${searchTerm}"); Default.KeyPress( locator1 = "LiferayLearn#SEARCH_BAR", value1 = "\ENTER"); } }