我在react组件中有这样的代码:
return (
<div className="col">
<div className="card border-secondary mb-3 text-center">
<div className="card-header">
<h5 data-cy='topicName' className="col-md"> {topicName} </h5>
<span> Rol: {capitalize(author)} </span>
</div>
<div className="card-body text-secondary">
<p className="card-text">Última actualización: 16/06/2022</p>
<div className="">
</div>
</div>
<div className="card-footer bg-transparent">
<Link to='/responses' >
<button data-cy='accederResponses' className="btn btn-outline-info " onClick={()=> onSetTopic(topicName, workspace_id, author, topicId)}>Acceder</button>
</Link>
</div>
</div>
</div>
);
我想加载页面在柏树,并点击()在'访问者'按钮,但只是在卡的名称'CA2'.
但我不知道怎么做,现在我的测试中有这个:
describe("LOAD OK", function() {
it("should load without crashing", function() {
cy.visit("http://localhost:3000");
cy.contains('[data-cy="topicName"]', 'CA2');
cy.get('[data-cy="accederResponses"]').click(); //the button in the card 'CA2'
});
});
2条答案
按热度按时间0yg35tkg1#
您的HTML示例格式不正确,我假设
.card-body
是(或应该是)如下所示,因为它在语义上是正确的。在这种情况下,测试最简单,如下所示:
.closest(selector)
是一个ancester搜索,也就是说,它在DOM树中向上寻找最近的selector
。.find(selector)
是一个派生搜索,它会向下DOM树查找selector
。hmae6n7t2#