.waitUntil() 編集を提案する
他のコマンドやアサーションを実行する前に、要素が指定されたアクション状態になるまで、ミリ秒単位で指定された時間(デフォルトは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` プロパティを定義します。 |