如何调试“错误:超时-在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时内未调用异步回调”?

时间:2020-02-12 16:03:51

标签: jasmine protractor gitlab-ci angular-e2e

我有一个本地测试,但由于超时错误,它在Gitlab CI管道期间失败。

错误:超时-jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时内未调用异步回调。

我可以通过哪种方式进行调试?我试图将量角器configuratoin文件中的defaultTimeoutInterval增加到240000,但没有任何改变。

测试

describe('Test', () => {

    beforeAll(async () => {
        console.log('1) start beforeAll');
        await api_wrapper.generateAllLatestMeasureToPatient(patient); // it breaks here
        console.log('2) API calls completed'); // it never gets here
        await page.navigateTo();
        console.log('3) end beforeAll');
    });

    it('should display map, edit fence button and toggle fence button', async () => {
        console.log('4) start test');
        // ...
    });

});

generateAllLatestMeasureToPatient()中,我向API端点发出了十个HTTP POST请求。在CI中,它停在第四位,在本地工作正常。

控制台输出

1) start beforeAll
4) start test

1 个答案:

答案 0 :(得分:0)

我使用两种类型的超时时间:

defaultTimeoutInterval: 120000,

也在

exports.config = {
   allScriptsTimeout: 90000,
}

我的测试还经常在CI环境中超时,因此我开始在无头模式下设置了浏览器窗口大小来运行它们,这确实很有帮助。

capabilities: {
    'browserName': 'chrome'
  },
    'chromeOptions': {
    'args': ["--headless", "--disable-gpu", "--window-size=1920,1080"]
    },
  }
相关问题