测试属性文本以匹配 Cypress 中的 href 链接的一部分

Nei*_*llo 4 cypress

我正在测试页面上的所有链接,但我只想部分匹配。

我可以像这样测试完整的 href

cy.visit('/');
cy.get('.class').find('a').should("have.attr", "href", "/123/456");
Run Code Online (Sandbox Code Playgroud)

但我想部分测试字符串,例如/456. 我尝试过.contains(),但没有成功。

Fod*_*ody 5

你可以使用include

cy.get('.class').find('a')
  .should('have.attr', 'href')
  .and('include', '/456');
Run Code Online (Sandbox Code Playgroud)

或者你可以切换话题

cy.get('.class').find('a')
  .invoke('attr', 'href')
  .should('contain', '/456');
Run Code Online (Sandbox Code Playgroud)

或使用 jquery 的更长版本

cy.get('.class').find('a')
  .should('have.attr', 'href')
  .then(href => {
    expect(href.endsWith('/456')).to.be.true;
  });
Run Code Online (Sandbox Code Playgroud)