【问题标题】:protractor test failing because ElementNotVisibleError after adding ng-if directive量角器测试失败,因为添加 ng-if 指令后出现 ElementNotVisibleError
【发布时间】:2015-01-26 20:52:01
【问题描述】:

我有一个 web 元素,测试能够找到它,直到我们将 ng-if 指令插入到该元素中。现在我的测试无法找到 web 元素:

ElementNotVisibleError: 元素不可见

<select ng-if="tasktypepermission" id="elementType" ng-model="task.elementType" ng-options="key as value for (key, value)  in elementTypeoptions" name="elementType" class="span3 ng-scope ng-pristine ng-valid errorForInput" data-trigger="blur focusout" tasknumber-validator="" ng-disabled="task.id">
    <option class="blank" value="">Select</option>
    <option value="1">Val1</option>
    <option value="2">Val2</option>
    <option value="3">Val3</option>
</select>

我访问元素的方式是:

var taskType    = function(){ return element(by.id('elementType'));};

我应该怎么做才能让它工作?我对量角器甚至前端测试都很陌生,所以请多多包涵。

【问题讨论】:

  • 你要断言什么?你能发布你的测试规范吗?
  • 当您的tasktypepermission 为假时,您的select 确实不存在是DOM。你可以考虑 ng-show 。还是即使tasktypepermission 为真也找不到元素?

标签: angularjs testing protractor end-to-end


【解决方案1】:

我建议尝试使用 elementExplorer。您可以尝试以多种方式(按类、名称​​、ng-model)查找请求的元素。 它可以让事情变得更清楚 - 特别是如果你是量角器的新手。 如果您不知道如何使用它,请告诉我。

【讨论】:

    猜你喜欢
    • 2020-04-02
    • 1970-01-01
    • 2016-10-08
    • 1970-01-01
    • 2015-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多