等到页面加载量angular器
我有一个login屏幕,当我按下loginbutton去仪表板页面。 不过,我经常想念我的超时时间。 按下button时是否有可能等待页面加载?
我的方法在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); }
testing在这里完成app.e2e-spec.ts
it('should be able to login', () => { page.navigateToHome(); page.login(); page.browserSleep(); });
您可以使用browser.wait
方法等待仪表板内的特定项目出现,如下所示:
browser.wait(protractor.ExpectedConditions.visibilityOf(someElement), 10000, "Dashboard never loaded");
如果您使用量angular器4或以上angular4可以利用async
和await
所以你的lofin函数是一个asynchronous函数,在调用的时候你会等待它完成asynchronous调用。
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 });
您可能需要定义
- Angular2应用程序初始加载问题。 typescript.js文件是4.75MB
- 在Angular 2 + Electron中使用绝对path
- Angular 5节点js表示POST JSON对象。 到亚马逊Aws (以前的CORS问题)
- 在angular2中使用process.env.NODE_ENV和process.env.ENVvariables是什么原因?
- Angular 2:NodeJS与XAMPP
- 量angular器:检查链接是否包含某些文本。 预期是
- 茉莉花testing与angular2和节点不工作
- Router.use()需要中间件function
- Node.JS +茉莉花+量angular器