量角器:等待组件的OnInit方法中的异步服务调用以测试值

时间:2018-04-26 15:58:17

标签: angular protractor e2e-testing

我在Angular2 +应用程序中遇到了量角器问题,试图测试一些为H1标签提供值的Hello World服务。当我在H1标签中放入纯文本时,我可以测试它并且它可以工作。但是当我使用asyncronous serivce为onInit中的H1标签提供值时,测试失败。

我已尝试browser.sleep(5000)browser.wait(ExpectedCondition ...),但没有任何效果。

还有很多其他的事情,比如玩setTimeoutpromise,但没有任何效果。

这是非异步测试:

import { AppPage } from './app.po';

describe('poc-pn App', () => {
  let page: AppPage;

  beforeEach(() => {
    page = new AppPage();
  });

  it('should display welcome message', () => {
    page.navigateTo();
    expect(page.getParagraphText()).toEqual('Welcome to app!');
  });
});

// navigateTo = browser.get()

// getParagraphText() = element(by.css('app-root h1')).getText();

1 个答案:

答案 0 :(得分:0)

你可以尝试等待,如下:

it('should display welcome message', () => {
    await page.navigateTo();
    expect(await page.getParagraphText()).toEqual('Welcome to app!');
});