等到页面加载量角器

时间:2017-09-21 16:56:52

标签: javascript node.js angular protractor

我有一个登录屏幕,当我按下登录按钮进入仪表板页面。但是,我经常想念我的超时。是否有可能在按下按钮时等待页面加载?

app.po.ts中的方法

login() {
 element(by.name('username')).sendKeys(browser.params[0].UserName);
 element(by.name('password')).sendKeys(browser.params[0].Password);
 element(by.partialButtonText('SignIn')).click();
 browser.sleep(5000);
}

测试在这里完成app.e2e-spec.ts

it('should be able to login', () => {
 page.navigateToHome();
 page.login();
 page.browserSleep();
});

2 个答案:

答案 0 :(得分:1)

您可以使用browser.wait方法等待信息中心内的特定项目显示,例如:

browser.wait(protractor.ExpectedConditions.visibilityOf(someElement), 10000, "Dashboard never loaded");

答案 1 :(得分:0)

如果您使用量角器4或以上角4可以利用asyncawait

所以你的lofin函数是一个异步函数,在调用时你将等待它完成异步调用。

async login() {
 element(by.name('username')).sendKeys(browser.params[0].UserName);
 element(by.name('password')).sendKeys(browser.params[0].Password);
 element(by.partialButtonText('SignIn')).click();
 browser.sleep(5000);
}


it('should be able to login', async () => {
 await page.navigateToHome();
 await page.login();
 // page.browserSleep(); you dont need to use page sleep as its not requred
});

您可能需要定义

相关问题