【问题标题】:Protractor: Trying to check if an Element is not displayed on page ( using .count() )量角器:尝试检查元素是否未显示在页面上(使用 .count() )
【发布时间】:2017-06-14 12:58:10
【问题描述】:

我最初有这个工作,但我已经开始使用 Gulp 和 Lint,所以现在我需要改变我处理这个的方式。 我正在检查用户是否显示单一货币或多种货币。如果用户只有一种货币(例如“EUR”),那么一个名为 "nav-tabs au-target" show.bind="positions.length > 1" au-target-id="37"不会显示在页面上。

这是页面对象文件中的代码

if(text.indexOf("EUR") >-1 && text.indexOf("GBP") ===-1 && text.indexOf("USD") ===-1){
expect(element(by.css("nav-tabs au-target")).count()).toBe(0);}

基本上它是检查“EUR”是否只显示然后期望"div nav-tabs au-target" 不存在。 当我运行此代码时,出现以下错误 Failed: element(...).count is not a function 感谢您的帮助

【问题讨论】:

  • count() 将适用于 element.all()(ElementFinders)。在您的情况下,您申请了单个元素()。这是不正确的。
  • 谢谢!
  • 你也可以使用$$("nav-tabs au-target").count()

标签: node.js protractor aurelia e2e-testing


【解决方案1】:

ElementFinder 实例上没有 .count() 方法(element() 的结果)。 count() is a method of an ElementArrayFinder instanceelement.all() 的结果)。

请注意,如果您将ESLint JavaScript lintereslint-plugin-protractor plugin 一起使用(无耻的自我推销),您可能会更早发现问题 - 在编码期间,无需实际执行测试:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-10
    • 1970-01-01
    • 2015-05-30
    • 1970-01-01
    相关资源
    最近更新 更多