根据文档,有两种方法可以获取ElementArrayFinder
(element.all()
调用结果)内部有多少个元素:
$$(".myclass").length
,记录在这里:…该数组
length
等于length
由找到的元素的ElementArrayFinder
,每个结果代表对该元素执行操作的结果。
$$(".myclass").count()
,记录在这里:计算表示的元素数量
ElementArrayFinder
。
这两种方法有什么区别,应首选哪一种?
$$(".myclass").length
需要解决诺言以正确获取元素的长度。
// WORK
$$(".myclass").then(function(items){
items.length;
});
// DOES NOT WORK
$$(".myclass").length;
$$(".myclass").count()
一个包装器,$$('.myclass').length
它本身就是一个承诺,不需要解决承诺,例如.length
$$(".myclass").count();
哪一个应该是首选?
除非在进行定位$$(".myclass")
和.then(function(items){...})
参与时有一些复杂的业务,否则items.length
它将提供更好的性能。
否则$$(".myclass").count()
应始终使用。
问题内容: 在量角器中,基本上有3种方法可以检查元素是否存在: 这些选项是否等效且可互换,通常应首选哪一种? 问题答案: 所有功能都以相似的方式存在细微的差异。这是我发现的一些差异- -- 是的扩展,因此在执行任何操作之前等待Angular解决。 它在is和or not 时起作用。如果使用指定的元素返回了多个元素,则检查第一个元素是否在DOM中。不接受任何参数作为输入。 最适合与Angular页面
问题内容: 假设表中有一个主字段“ id”(例如速度等),以下查询之间是否有区别? 与 问题答案: 在www.mysqlperformanceblog.com上查看Count(*)与Count(col),他们讨论了有关各种“ col”类型(是否为NULL,是否不带索引,带索引等)的该主题,以及针对MyISAM和InnoDB表的主题。
问题内容: 我试图只是运行包含在Internet Explorer 上的量角器中的示例测试,并且不会太远:( 我尝试过将浏览器名称更改为“ internet Explorer”和 “ version”:11,并且我已注释掉directConnect(因为它对此有所抱怨 ) 我得到的错误是… WebDriverError:必须通过 webdriver.ie.driver系统属性设置驱动程序可执行文件
我试图遵循量角器官方网站上的量角器教程,但我甚至无法完成步骤0。 我在用量角器 之后,我一直在遵循教程的第0步。我有配置。js文件和test-spec.js文件如下: 配置js公司 测试规范js 当我运行protector
问题内容: 我最近正在浏览量角器API,并注意到该方法: 调度命令以在webdriver的控制流上下文中执行自定义功能。 我想将此功能添加到我的工具箱中,但是我不确定我完全了解何时可以在实践中使用它,以及它涵盖哪些用例? 问题答案: 量角器的工作方式是有一个内部队列,在其中设置函数的顺序。因此,如果您要在测试中的某个地方调用某个函数而不告诉量角器,则该函数将不在队列中,并且该函数的实际执行可能随时
问题内容: 我见过很多次有人建议使用它: 但是我不明白为什么我们需要它? 问题答案: 一个简单的答案是,它使量角器不必等待Angular承诺,例如来自或解决的Angular承诺,如果您在或期间(例如,“正在加载”消息)测试行为或测试非Angular承诺,角度站点或页面,例如单独的登录页面。 例如,要测试在请求期间设置加载消息的按钮,可以在获取元素时将其设置为+检查其内容 一个更复杂的答案是将其设置