Angular 单元测试:按数据-QA 标记属性查询 HTML 元素
Angular Unit Test: Query HTML Element by Data-QA Tag Attribute
我正在编写 Angular 单元测试,并希望通过 data-qa
属性 query/get 自定义文本框的值,例如https://dev.to/chriszie/data-qa-attribute-a-better-way-to-select-elements-for-ui-test-automation-48lm.
如何做到这一点?
<app-textbox
type="text"
data-qa="productname"
>
</app-textbox>
describe('ProductComponent', () => {
let component: ProductComponent;
let fixture: ComponentFixture<ProductComponent>;
it('test value', () => {
let data = fixture.debugElement.query(By -- (not sure what to write here)
});
你可以试试这个,如果这还不够,你可以找更多的例子here
it('test value', () => {
const input = fixture.debugElement.query(By.css('input[data-qa="productname"]'))
OR
const input = fixture.debugElement.nativeElement.querySelector('input[data-qa="productname"]')
console.log(input)
});
我正在编写 Angular 单元测试,并希望通过 data-qa
属性 query/get 自定义文本框的值,例如https://dev.to/chriszie/data-qa-attribute-a-better-way-to-select-elements-for-ui-test-automation-48lm.
如何做到这一点?
<app-textbox
type="text"
data-qa="productname"
>
</app-textbox>
describe('ProductComponent', () => {
let component: ProductComponent;
let fixture: ComponentFixture<ProductComponent>;
it('test value', () => {
let data = fixture.debugElement.query(By -- (not sure what to write here)
});
你可以试试这个,如果这还不够,你可以找更多的例子here
it('test value', () => {
const input = fixture.debugElement.query(By.css('input[data-qa="productname"]'))
OR
const input = fixture.debugElement.nativeElement.querySelector('input[data-qa="productname"]')
console.log(input)
});