1
私たちのアプリではTapestry 5.3.8を使用しています。統合テストは、Selenium 2.53.1を使用して実装されています。JavaScriptのタペストリー効果を待つ
場合によっては、セレンテストは完了するまで何らかのアクションを待つ必要があります。例えばTapestryの場合。 AJAXリクエストを呼び出すと、次のコードが実行され、AJAXリクエストが完了するまで待機します。
new WebDriverWait(driver, 10).until(new ExpectedCondition<Boolean>()
{
@Override
public Boolean apply(final WebDriver webDriver)
{
String js = "return window.Ajax.activeRequestCount";
Long count = (Long) ((JavascriptExecutor) webDriver).executeScript(js);
return count.longValue() == 0;
}
});
それでは、タペストリーテンプレートの次のスニペットを考えてみましょう:適切なチェックボックスをオンにすると
<t:formfragment t:id="repeatedDate" element="fieldset" show="show" hide="fade" visible="dateRepeated">
...
</t:formfragment>
...
<t:checkbox value="dateRepeated" t:mixins="triggerfragment" fragment="repeatedDate"/>
フラグメントは、タペストリー効果「ショー」と表示されます。
セレン試験で効果の完了を待つ方法はありますか?言い換えれば、エフェクトの進行中にfalse
と評価されるJavaScript式がありますか?完了したらtrue
になりますか?
ありがとうございました。