cypress "get" returns 元素是否按顺序出现在 HTML 文档中?

Does cypress "get" returns elements in order it appears on HTML document?

我正在使用 Cypress 编写 e2e 测试,我需要编写一个测试来断言前端是否正确地排序了一组元素。

仅举个例子,假设我有一个页面只列出了一组年龄,如下所示:

<div id="list">
   <div class="age">18</div>
   <div class="age">20</div>
   <div class="age">19</div>
</div>

而且我想编写一个测试来断言它是否从大到小排序。

一种方法可能是获取 class 为 age 的元素,并通过迭代它们来发现它是否已排序:

cy.get(".age").then((ages) => {
  //check if elements are ordered iterating over ages array
})

但如果 ages 数组与 HTML 中显示的顺序相同,我只能保证我的测试是正确的。

DOM 由 cy.get() 产生的元素是否总是按照它在 HTML 文档中的确切顺序?

我在 official documentation

中找不到对此的任何引用

简答,


解释:

来自 get 的柏树文档:

The querying behavior of this command matches exactly how $(…) works in jQuery.

以及 how jQuery works the order of $() 的答案:

...So the final answer is that yes, I can use $('.myList li').each() and iterate through the list items in the order that they appear in the DOM.