Это мой класс объектов Page
export class TopMenu {
topbarMenu: ElementFinder;
menuItems;
numberofMenuItems: number;
constructor() {
console.log("TopMenu constructor called");
this.setMenus();
}
async setMenus() {
console.log("aaaaaaaaaa");
this.topbarMenu = await element(by.css("ul[class*='topbar-menu']"));
console.log("bbbbbbbbbb");
this.menuItems = await this.topbarMenu.all(by.xpath("./li"));
console.log("ccccccccc");
}
}
это мой блок "это". Это отправная точка программы.
it("Click all Submenues 3", async () => {
browser.waitForAngularEnabled(true);
let topMenu: TopMenu = await new TopMenu();
console.log("ddddddddddddddd");
}
Мой вывод такой:
**TopMenu constructor called
aaaaaaaaaa
bbbbbbbbbb
ddddddddddddddd
ccccccccc
как вы можете видеть из вышеприведенного вывода, "console.log (" ddddddddddddddd ")" вызывается ДО того, как эта строка будет разрешена "this.menuItems = await this.topbarMenu.all(by.xpath("./li"));
в классе TopMenu"
можно ли это пропустить?
Я хочу выполнить любую строку, которую я прямо в блоке it, ПОСЛЕ того, как «TopMenu» будет полностью создано.
Как управлять потоком, как это?