量角器 - Angular 功能模块不同步

Protractor - Angular Goes out of sync for feature modules

我正在尝试 运行 angular 使用量角器进行端到端测试。

这是我的 angular 项目:

Angular 项目

对于我的 e2e 测试,如果我尝试在主模块上执行测试,它们 运行 没问题,但对于功能模块,它会不同步。

我收到的错误是 - Angular is not defined. 有时 element is not visible within specified timeout

规格代码:

describe('Page name', () => {

    it('should be able to load page', async () => {
      
        navigateToPage('hr/csvimport');
       
        browser.waitForAngular();
       
        const settingsName = generateRandomNumber();
       
        let btnAdd = element(by.id('btnAdd'));
        await btnAdd.click();
        //expect condition
   });
});

导航到页面代码:

export const navigateToPage = async (path) => {
    console.log('set location ' + path);
    if (path === '/' || path === '') {
        await browser.get('/');
    } else {
        await browser.waitForAngular().then(() => {
            browser.get('/' + path);
        });    
    }    
};

我最好的猜测是,由于功能模块加载了不同的脚本,所以它与 angular 不同步。目前它仅在点击时冻结并且测试停止。

问题:如何让它与angular同步?

让我们从 1 到 1 开始

navigateToPagewaitForAngular return 承诺。需要解决一个承诺。所以当你打电话给他们时使用 await

让我知道你看到了什么