问题描述
我正在尝试使用量角器运行角度 e2e 测试。
这是我的 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 不同步。目前它只在点击时冻结,测试停止。
问题:如何使其与角度同步?
解决方法
让我们从 1 个开始
navigateToPage
和 waitForAngular
返回承诺。需要解决一个承诺。所以当你打电话给他们时使用 await
告诉我你看到了什么