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 文档中的确切顺序?
中找不到对此的任何引用
简答,是。
解释:
来自 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.
我正在使用 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 文档中的确切顺序?
简答,是。
解释:
来自 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.