我有一个登录屏幕,当我按下登录按钮进入仪表板页面。但是,我经常想念我的超时。是否有可能在按下按钮时等待页面加载?
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();
});
答案 0 :(得分:1)
您可以使用browser.wait
方法等待信息中心内的特定项目显示,例如:
browser.wait(protractor.ExpectedConditions.visibilityOf(someElement), 10000, "Dashboard never loaded");
答案 1 :(得分:0)
如果您使用量角器4或以上角4可以利用async
和await
所以你的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
});
您可能需要定义