を使用して要素を取得できます
fixture.debugElement.query(By.css('h1'));
しかし、クラス名を介して要素を取得したい場合にすべきこと。このようなもの
fixture.debugElement.query(By.css('class="name"'))
_By.css
_を使用して、CSSセレクターを渡します。したがって、cssで使用できるセレクターは、_By.css
_で使用できます。また、クラスのセレクターは、単に_.classname
_(ピリオド付き)です。
_By.css('.classname') // get by class name
By.css('input[type=radio]') // get input by type radio
By.css('.parent .child') // get child who has a parent
_
これらはほんの一例です。 CSSを知っている場合は、セレクターの使用方法を知っている必要があります。
編集:By.css()
を使用するには、必ず_import { By } from '@angular/platform-browser';
_
要素を選択する他の便利な方法を追加するだけです:
// get element with multiple classes
fixture.debugElement.query(By.css('.className1.className2'));
// get a certain element from a group of elements with the same class name
fixture.debugElement.queryAll(By.css('.className'))[1];
DOM要素でユーザーIDを使用し、angular2単体テストで以下のようなものを呼び出して、目的のDOM要素の参照を取得し、好きなものをテストできます。
//typscript syntax
fixture = TestBed.createComponent(<your component>);
let result = fixture.nativeElement.querySelector('<id attribute name of html element>');
expect(result.id).toEqual("id of your DOM element.").
この助けを願っています。