javascript - 赛普拉斯“get”是否按照元素出现在 HTML 文档中的顺序返回元素?
问题描述
我正在使用赛普拉斯编写 e2e 测试,我需要编写一个测试来断言前端是否正确订购了一组元素。
仅举例来说,考虑我有一个仅列出一组年龄的页面,如下所示:
<div id="list">
<div class="age">18</div>
<div class="age">20</div>
<div class="age">19</div>
</div>
我想写一个测试来判断它是否是从老到老排序的。
一种方法可能是获取类为年龄的元素,并通过迭代它们来发现它是否是有序的:
cy.get(".age").then((ages) => {
//check if elements are ordered iterating over ages array
})
但我只能保证如果ages
数组的顺序与 HTML 中呈现的顺序相同,我的测试是正确的。
DOM 元素 yield by 是否cy.get()
总是按照它在 HTML 文档中的确切顺序?
我在官方文档中找不到对此的任何参考
解决方案
简短的回答,是的。
解释:
来自get的柏树文档:
此命令的查询行为与 $(...) 在 jQuery 中的工作方式完全匹配。
...所以最后的答案是,是的,我可以使用$('.myList li').each() 并按照它们在 DOM 中出现的顺序遍历列表项。
推荐阅读
- azure-devops - Azure DevOps 管道阶段
- python - Discord Bot 命令未显示
- mysql - Mysql function with variable query operators
- ios - 您如何支持通过滑动删除具有组合布局的 UICollectionView 列表中的一行?
- python - 使用 JWT 模块时出现错误“用户不存在错误”
- javascript - 如何获取页面请求的 URL?
- kubernetes - metallb 负载均衡器 IP 地址范围
- javascript - Mongoose 如何通过 findOne 在文档中获取嵌套对象
- javascript - 在 setFormula 内的公式中使用撇号 (')
- javascript - 点击reactjs在升序和降序之间交替排序