web-dev-qa-db-ja.com

分度器とキュウリ:async / awaitを使用して関数がタイムアウトしました

Angular 5、分度器とキュウリを使用してe2eおよびbddテストを実行しています。ターミナルで実行するとng e2e次のエラーが発生します。

ページを開くと#e2e\steps\home.steps.ts:15

エラー:関数がタイムアウトしました。約束が5000ミリ秒以内に解決されることを確認してください

15行目で、私は:

 When(/^I open the page$/, async () => {
    await browser.get('http://localhost:49156');
 });

具体的には、次の行です。

 When(/^I open the page$/, async () => {
7
Ricky

答えは非常に簡単です。デフォルトでは、Cucumberは非同期フックに5000ミリ秒かかりますが、次のように構成できます。

When(/^I open the page$/, {timeout: 2 * 5000}, async () => {

グローバルに構成することも可能です。

var {setDefaultTimeout} = require('cucumber');
setDefaultTimeout(60 * 1000);

詳細: https://github.com/cucumber/cucumber-js/blob/master/docs/support_files/timeouts.md

もう1つ、ポートを不適切に構成しました。ご覧のとおり、ポート49156に構成しました。これはデフォルトのポートであると読みましたが、既に変更されており、ポート49152になっているようです。

19
Ricky