【发布时间】:2022-01-11 23:03:48
【问题描述】:
我有一个由可重用组件构建的表单,因此每个表单控件都使用唯一的id 生成,并由其标签引用:
<label for="2346157937rfl5v">Complaint</label>
<div>
<textarea id="2346157937rfl5v" [(ngModel)]="value"></textarea>
</div>
使用 Cypress 根据文本识别标签元素很容易。但是我怎样才能识别关联的表单控件元素呢?
cy.contains('Complaint').???
我可以只使用.next().get('textarea'),但这似乎与当前的实现过于相关。理想情况下,有一些方法可以跟踪标签中的链接。
澄清:我想识别标签元素,获取其for 属性,然后使用该id 识别textarea 元素。这样测试就不依赖于 DOM 的结构。
【问题讨论】:
标签: angular automated-tests cypress