【发布时间】:2019-09-28 03:17:30
【问题描述】:
我正在 Cypress 中编写一个自动化测试来测试更新记录列表中的记录。我想测试在列表中创建的最后一条记录。
我尝试将 data-test-id (attr.data-test-id="project-{{id}}") 添加到 HTML 并在我的 Cypress 测试中引用它。
HTML:
<mat-list-item
*ngFor="let project of projects; let id=index"
(click)="selected.emit(project)"
attr.data-test-id="project-{{id}}">
<h3 mat-line>
{{project.title}}
</h3>
<p mat-line>
{{project.details}}
</p>
赛普拉斯测试:
describe('#update', () => {
it('updates a record', (id) => {
cy.get('[attr.data-test-id="project-${id}"]').click()
});
我想在 Cypress 测试中传递索引号 (id),但是,我在 Cypress 中收到“语法错误,无法识别的表达式”消息。我究竟做错了什么?提前致谢!
【问题讨论】:
-
尝试
cy.contains('mat-list-item', 'text-of-the-item-i-want-to-test').click()或cy.get('mat-list-item').eq(6).click()(假设您想要第 7 项)。无法对it()回调进行参数化,因此您必须以另一种方式定义位置。
标签: javascript html cypress