他のコマンドやアサーションを実行する前に、要素が指定されたアクション状態になるまで、ミリ秒単位で指定された時間(デフォルトは5000ms)待機します。
指定された時間内に要素がアクション状態にならない場合、テストは失敗します。`abortOnFailure`を`false`に設定することで、これを変更できます。

`nightwatch.conf.js`または外部グローバルファイルでグローバルプロパティとして`waitForConditionPollInterval`プロパティ(ミリ秒単位)を定義することで、ポーリング間隔を変更できます。
同様に、デフォルトのタイムアウトは、グローバルな`waitForConditionTimeout`プロパティ(ミリ秒単位)として指定できます。

使用方法

                    .waitUntil(action, {timeout, retryInterval, message, abortOnFailure});
                

 describe('demo Test', function() {
  it ('wait for container', async function(browser){
    // with default implicit timeout of 5000ms (can be overwritten in settings under 'globals.waitForConditionTimeout')
    await browser.element.find('#index-container').waitUntil('visible');

    // with explicit timeout (in milliseconds)
    await browser.element.find('#index-container').waitUntil('visible', {timeout: 1000});

    // continue if failed
    await browser.element.find('#index-container').waitUntil('visible', {timeout: 1000, abortOnFailure: false});

    // with negative assertion
    await browser.element.find('#index-container').waitUntil('not.visible');

    // with xpath as the locate strategy
    await browser.element.find(by.xpath('//*[@id="index-container"]')).waitUntil('visible', {message: 'The index container is found.'});

    // with custom message
    await browser.element.find('#index-container').waitUntil('visible', {message: 'The index container is found.'});
  });


  it('page object demo Test', async function (browser) {
    const nightwatchPage = browser.page.nightwatch();

    nightwatchPage
      .navigate()
      .assert.titleContains('Nightwatch.js');

    await nightwatchPage.element.find('@featuresList').waitUntil('visible');
  });
});

パラメータ

名前 説明
action 文字列

アクション状態。次のいずれかである必要があります: selected, not.selected, visible, not.visible, enabled, disabled, present, not.present

timeout
オプション
数値

失敗するまでに待機するミリ秒の総数。設定の 'globals.waitForConditionTimeout' を使用して設定することもできます。

retryInterval
オプション
数値

再試行間の待機時間(ミリ秒)。これは、time パラメータも指定した場合にのみ使用できます。設定の 'globals.waitForConditionPollInterval' を使用して設定することもできます。

message
オプション
文字列

出力に表示されるオプションのメッセージ。このメッセージは、現在のセレクタを表す %s と時間を表す %d の2つのプレースホルダーをサポートしています(例:要素 %s は %d ミリ秒間ページに存在しませんでした)。

abortOnFailure=abortOnAssertionFailure
オプション
ブール値

デフォルトでは、要素が見つからない場合、テストは失敗します。アサーションが失敗してもテストを続行する場合は、これを false に設定します。グローバルに設定するには、globals に `abortOnAssertionFailure` プロパティを定義します。