量角器测试中isPresent()实际上做了什么?

时间:2016-01-15 12:54:36

标签: angularjs selenium protractor

isPresent()是否提供了真实

  1. 仅当页面中存在元素时
    1. 仅当元素在页面中可见时(向下滚动)
    2. 如果仅检查页面中是否存在元素,则仅当元素可见时是否还有其他方法才能提供true。请提供一些输入。

      编辑:1

      我在加载page.ie时出现滚动问题(加载页面时会向下滚动到页面中间)

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

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

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

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

1 个答案:

答案 0 :(得分:1)

isPresent()返回的承诺不是truefalse

如果要检查元素是否存在,实际上您必须查看promise所解析的值:

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