У меня есть боковая панель навигации, и я пытаюсь сделать тест, чтобы щелкнуть ссылку и перенаправить на соответствующую страницу.
Селектор находится внутри элемента, который находится внутри цикла ngFor.
<ng-container *ngFor = "let item of listItems">
<li>
<a [data-test] = "item.routerLink"></a>
</li>
</ng-container>
Я уже пытался использовать [href], но безуспешно.
it('should redirect user to welcome', () => {
cy.getBySelector('a[href* = "/welcome"]').click();
});
Спасибо.
Я бы рекомендовал создать уникальный id
для каждого элемента, используя index
, а затем вы можете выбрать его с помощью Cypress, как показано ниже:
<ng-container *ngFor = "let item of listItems; let i = index">
<li>
<a [attr.cy-data] = "'myLink-' + i" [data-test] = "item.routerLink"></a>
</li>
</ng-container>
// * specify the index, here I'm using index 2, "select the 3rd link"
cy.get("[data-cy='myLink-2']").click();