量角器中的计数()与长度

count() vs length in Protractor(量角器中的计数()与长度)
本文介绍了量角器中的计数()与长度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

根据文档,有两种方法可以获取 ElementArrayFinder 中有多少元素(element.all() 调用的结果):

  • $$(".myclass").length,记录在 这里:
<块引用>

...数组的length等于ElementArrayFinder找到的元素的length,每个结果代表执行的结果对元素的操作.

  • $$(".myclass").count(),记录在 这里:
<块引用>

计算ElementArrayFinder所代表的元素个数.

这两种方法有什么区别,应该首选哪一种?

解决方案


$$(".myclass").length

需要解决 promise 以正确获取元素的长度.

//工作$$(".myclass").then(function(items){项目长度;});//不工作$$(".myclass").length;

<小时>

$$(".myclass").count()

$$('.myclass').length 的包装器,它本身就是一个 Promise,不需要像 .length 那样解析 Promise

$$(".myclass").count();

<小时><块引用>

应该首选哪一个?

除非在定位$$(".myclass").then(function(items){...})时涉及到一些复杂的业务,那么items.length 将提供更好的性能.

否则 $$(".myclass").count() 应始终使用.

According to the documentation, there are 2 ways to get how many elements are inside the ElementArrayFinder (the result of element.all() call):

  • $$(".myclass").length, documented here:

...the array has length equal to the length of the elements found by the ElementArrayFinder and each result represents the result of performing the action on the element.

  • $$(".myclass").count(), documented here:

Count the number of elements represented by the ElementArrayFinder.

What is the difference between these two methods and which one should be preferred?

解决方案


$$(".myclass").length

Need to resolve the promise to get the length of element correctly.

// WORK
$$(".myclass").then(function(items){
  items.length;
});

// DOES NOT WORK
$$(".myclass").length; 


$$(".myclass").count()

A wrapper for $$('.myclass').length which being a promise itself and doesn't require to resolve promise like .length

$$(".myclass").count(); 


which one should be preferred?

Unless there some complex business when locating $$(".myclass") and .then(function(items){...}) involved then items.length will give better performance.

Otherwise $$(".myclass").count() should always be used.

这篇关于量角器中的计数()与长度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Update another component when Formik form changes(当Formik表单更改时更新另一个组件)
Formik validation isSubmitting / isValidating not getting set to true(Formik验证正在提交/isValiating未设置为True)
React Validation Max Range Using Formik(使用Formik的Reaction验证最大范围)
Validation using Yup to check string or number length(使用YUP检查字符串或数字长度的验证)
Updating initialValues prop on Formik Form does not update input value(更新Formik表单上的初始值属性不会更新输入值)
password validation with yup and formik(使用YUP和Formick进行密码验证)