2017-03-28 10 views
0

私は私のISPは、google.comの間のウェブウイルスチェックのページを提供し、次のテストがテスト待ち時間を追加するには?

webdriverio 
    .remote(options) 
    .init() 
    .url('http://www.google.com') 
    .getTitle().then(function(title) { 
     console.log('Title was: ' + title); 
    }) 
    .end(); 

ためWebdriverIOを使用していますので、テストは必ずウイルスチェックのページのタイトルを返します。結果が常にGoogleに返ってくることを確認するにはどうすればよいですか?

答えて

0

は、あなたがGoogleにリダイレクトされるまで、しばらくの間、あなたのテストを一時停止するpause(time)機能を使用することができます。

webdriverio 
.remote(options) 
.init() 
.url('http://www.google.com') 
.pause(5000) 
.getTitle().then(function(title) { 
    console.log('Title was: ' + title); 
}) 
.end(); 
+0

テストで一時停止を使用しないでください。代わりに明示的な待機を使用してください。 – Andrii

1

テストでの一時停止の使用は悪い習慣です。代わりに明示的な待機を使用する方が良いです。

など。 Wdio APIによって提供されるwaitUntilメソッドを使用できます。したがって、期待されるURLを待つヘルパー関数を作成することができます。ここ

はES6の例である:

function waitForUrl(url, timeout) { 
    browser.waitUntil(() => browser.getUrl().includes(url) 
    }, timeout, `Expected url must be ${url}`) 
} 

あなたは、単にデフォルトの値は、また、MSに((ミリ秒)のタイムアウトとともにWaitUntilにより条件としてエラーメッセージと間隔を関数(又は約束)を通過することができます500ms)。 waitUntilは真理値で条件が満たされるまで待機します。それ以外の場合は、エラーがスローされます。

関連する問題