我是一名测试人员,并且我有此HTML代码。
<div id="columns">
<div class="column ce-editable c1">
</div>
</div>
我正在使用赛普拉斯。我想检查div元素中是否有'c1'类名。如果我尝试:
cy.xpath ('//div[@id="columns"]//div')
.should('have.class', 'c1')
我遇到此错误:
CypressError: Timed out retrying: You attempted to make a chai-jQuery assertion on an object that is neither a DOM object or a jQuery object.
The chai-jQuery assertion you used was:
> class
The invalid subject you asserted on was:
> [<div.column.ce-editable.c1>]
To use chai-jQuery assertions your subject must be valid.
This can sometimes happen if a previous assertion changed the subject.
答案 0 :(得分:1)
我可以给你一个完全不同的方向。它远没有使用Xpaths :)。您可以执行以下操作来存档所需的内容:
cy.get('#columns')
.find('div')
.should('have.class','c1')
这会带来一些积极的结果: 1.更容易阅读正在发生的事情 2.调试更容易,您会看到赛普拉斯试图分三步验证c1。首先找到一些带有“ columns”的ID,然后在其下方找到一个div,然后断言最后搜索的div具有一个名为“ c1”的类。 3.结果显示出了更完美的效果,因为should()实际上是断言而不是动作。