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.