angular - Angular 单元测试:通过 Data-QA 标记属性查询 HTML 元素
问题描述
我正在编写 Angular 单元测试,并希望按data-qa
属性查询/获取自定义文本框的值,例如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)
});
解决方案
你可以试试这个,如果这还不够,你可以在这里找到更多的例子
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)
});
推荐阅读
- ruby - 给定句子可以包含的分割数和单词数,解读字符串
- c# - 在 C# 中如何通过引用传递?
- google-cloud-platform - 我无法通过 SSH 打开 mi VM
- python - 为什么变量 YourName = input("What is your name?") 打印用户输入问题而不是用户输入
- android - 找不到接受参数类型 'kotlinx.coroutines.flow.MutableStateFlow' DataBinding Android 的设置器
- ios - 如何创建与 @Binding 一起使用的视图。它应该在使用 @Binding 数据时自行刷新
- python - Pandas bin 和赋值
- vagrant - Vagrant 给出“代理无效”错误,但我不在代理后面(Windows 10)
- mysql - 如何使用关系数据库对类别树进行建模
- r - 在使用多个数据框的图中从 ggplot 图例中删除不正确的彩色轮廓?