量角器和黄瓜:功能使用async/await超时

Ric*_*cky 7 cucumber protractor angular

我正在使用Angular 5,Protractor和Cucumber进行e2e和bdd测试.当我在终端上运行时,ng e2e我收到以下错误:

当我打开页面#e2e\steps\home.steps.ts:15

错误:函数超时,确保promise在5000毫秒内解析

在第15行,我有:

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

具体来说,就是这条线:

 When(/^I open the page$/, async () => {
Run Code Online (Sandbox Code Playgroud)

Ric*_*cky 17

答案很简单.默认情况下,Cucumber需要5000毫秒的异步挂钩,但我们可以通过这样做来配置它:

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

甚至可以全局配置它.

var {setDefaultTimeout} = require('cucumber');
setDefaultTimeout(60 * 1000);
Run Code Online (Sandbox Code Playgroud)

更多信息:https://github.com/cucumber/cucumber-js/blob/master/docs/support_files/timeouts.md

另一件事,我配置端口很糟糕,你可以看到,我在端口49156上配置它,因为我已经读过它是默认端口,但它似乎已经改变,现在是端口49152.