web-dev-qa-db-fra.com

Rapporteur et concombre: la fonction a expiré en utilisant async / wait

Je fais des tests e2e et bdd en utilisant Angular 5, rapporteur et concombre. Lorsque je lance sur le terminal ng e2e J'obtiens l'erreur suivante:

Lorsque j'ouvre la page # e2e\steps\home.steps.ts: 15

Erreur: la fonction a expiré, assurez-vous que la promesse se résout dans les 5000 millisecondes

Dans la ligne 15, j'ai:

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

Plus précisément, c'est la ligne:

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

La réponse est très simple. Par défaut, Cucumber prend 5000 ms pour les crochets asynchrones, mais nous pouvons le configurer en procédant comme suit:

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

Il est même possible de le configurer globalement.

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

Plus d'informations: https://github.com/cucumber/cucumber-js/blob/master/docs/support_files/timeouts.md

Une autre chose, j'ai mal configuré le port, comme vous pouvez le voir, je l'ai configuré sur le port 49156 parce que j'avais lu que c'était le port par défaut, mais il semble qu'il ait déjà changé et est maintenant le port 49152.

19
Ricky