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

时间:2018-04-16 16:27:49

标签: angular protractor cucumber

我正在使用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');
 });

具体来说,就是这一行:

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

1 个答案:

答案 0 :(得分:9)

答案非常简单。默认情况下,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

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