如何在 Cypress 中查询 HTML 标签值?

How do I query HTML tag values in Cypress?

<g class="ABC" transform="translate(786.9,53)" score="1.3">

如何查询本例HTML标签的分值?

我正在编写一个测试来查询分数属性(在上面的示例中是 1.3)并将其与我测试中的正确数字进行比较。

我不确定如何获取分数属性值。 cy.get() 没有给我我需要的。

谢谢。

Cypress 让您可以直接访问 DOM。如果你想定位一个 DOM 对象并直接对其进行操作,你将需要使用 then() 函数。

这是一个适用于您的情况的示例:

cy.get("g.ABC").then(elem => {
    let score = elem.attr("score");
    cy.log(score);
    // etc...
});

有关详细信息,请参阅 this doc page


如果您想直接对值执行 mocha 断言,请使用 should() 以利用自动重试:

cy.get("g.ABC").should(elem => {
    let score = elem.attr("score");
    // If this assertion fails, the entire block will retry until it doesn't.
    expect(score).to.equal("1.3");
});

有关详细信息,请参阅 this doc page