【问题标题】:what does isPresent() in protractor testing actually do?量角器测试中的 isPresent() 实际上是做什么的?
【发布时间】:2016-12-29 21:59:47
【问题描述】:

isPresent() 是否提供 true

  1. 仅当元素存在于页面中时

  1. 仅当元素在页面中可见时(向下滚动时)

如果它只检查页面中存在的元素,是否有任何其他方法仅在元素可见时提供true。请提供一些输入。

编辑:1

我在加载页面时遇到了滚动问题。即(加载页面时它会向下滚动到我的页面中间)

所以我正在使用滚动服务,它会从顶部正确加载页面。

关键是在使用滚动服务时,量角器测试应该通过并在不使用时失败。

现在,当使用滚动服务时,所有元素都将可见,我使用返回 true 的 isPresent()

当不使用滚动服务时,由于向下滚动,某些元素将不可见,但我仍在使用同样返回 true 的 isPresent() 不可见的相同元素。

【问题讨论】:

标签: angularjs selenium protractor


【解决方案1】:

isPresent() 返回的 Promise 不是 truefalse

如果你想检查一个元素是否存在,你实际上必须查看 promise 解析为的值:

element(anyFinder).isPresent().then(function(isPresent) {
  if ( isPresent) {
    // The element is present
  } else {
    // The element is not present
  }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-11
    • 2010-11-26
    • 2015-06-23
    • 2017-12-26
    • 2016-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多