Angular2测试 - 通过Id获取元素

时间:2016-12-30 16:00:08

标签: angular

我正在编写一个Angular2测试组件,我在教程中注意到了这一行:

de = fixture.debugElement.query(By.css('h1'));

de定义为DebugElement类型。

如何通过ID获取DebugElement

这似乎非常简单,但我无法在文档中找到任何方向。

3 个答案:

答案 0 :(得分:36)

您也可以使用by.css

de = fixture.debugElement.query(By.css('#theid'));

答案 1 :(得分:5)

  const fixture = TestBed.createComponent(DashboardComponent);
  const compiled = fixture.debugElement.nativeElement;
  • 使用ID

    expect(compiled.querySelector('#from').textContent).toContain('From Date');

  • 使用CSS

    expect(compiled.querySelector('.from').textContent).toContain('From Date');

答案 2 :(得分:0)

您可以使用以下语法从HTML元素获取属性值:

要检索HTML元素:

const element = fixture.debugElement.nativeElement.querySelector('name of element'); // example a, h1, p

要从该元素获取属性值:

const attributeValue = element.attributeName // like textContent/href