我正在使用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 () => {
答案 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。