Je commence à jouer avec cyprès et je dois sélectionner un lien comme celui-ci:
cy.contains('a[href~=Agregar]')
cy.contains('a[href*="Agregar"]')
cy.contains('a:contains("^Agregar$") ')
cy.contains('a:contains("^Alta$") ')
Suite à cette page , j'ai déjà essayé avec ceux-ci:
<table cellSpacing="0" cellPadding="0" width="100%" border="0" class="ToolBarBkg">
<tbody>
<tr>
<td class="ContentLeftLinks" align="right" width="98%" height="40" nowrap>
<a href="javascript:FireEvent('Agregar')" style="COLOR: black; font-weight: normal" tabindex="-1">
<IMG src="/metassc/images/toolbar/AltaOn.gif" align="absmiddle" border=0> Alta
</a>
<a href="javascript:FireEvent('Eliminar')" style="COLOR: black; font-weight: normal" tabindex="-1">
<IMG src="/metassc/images/toolbar/BajaOn.gif" align="absmiddle" border=0> Baja
</a>
Mais aucun d'entre eux ne semble fonctionner. Une idée?
4 Réponses :
Cela semble fonctionner, j'ai dû utiliser cy.get au lieu de contient
cy.get('a[href*="Agregar"]')
.click()
cy.contains () peut également prendre deux arguments:
cy.contains('a', 'Alta')
Ceci obtient le premier élément a contenant le texte Alta
Il existe cette bibliothèque populaire> cypress-testing-library p>
Cela facilite grandement l'obtention des sélecteurs par texte, titre, valeur, texte alternatif etc.
Pour votre problème, vous pouvez simplement utiliser la méthode getByText de cette bibliothèque:
cy.getByText('Agregar').click()