首页 > 解决方案 > Exists 属性正在崩溃脚本

问题描述

我有一些代码在屏幕键盘中查找指定的键,并在找到时单击它。我遇到了一个问题,有时该Exists属性不存在,它使我的测试崩溃。

function findKey(propertyName, character, shiftMode) {
  var keyboard = getKeyboard()

  var key = keyboard.findChild(propertyName, character, 2)

  if (key.Exists) { // Crashes on this line.
    keyboard.set_ShiftMode(shiftMode)
    key.Click()

    return true
  }

  return false
}

真正疯狂的是,当我向该行添加断点并在检查器中检查它时,Locals 检查器具有该属性,但 Watch List 说它不存在。此外,这不是超级一致的。到目前为止,它要么发生在字符串的第一个或第二个字符上。

当地人

当地人

观察名单

观察名单

错误日志

错误日志

在代码的某些情况下,什么可能导致该属性不存在?我认为这Exists 总是在专门返回的任何东西上,findChild所以你可以知道是否有任何东西被退回。

标签: javascripttestcomplete

解决方案


改用 Visible 或 VisibleOnScreen 属性怎么样?

另外,您应该尝试记录到关键字测试,然后将其转换为脚本。


推荐阅读