Как проверить, находится ли мигающий курсор внутри текстового поля через TestComplete

Я пытаюсь убедиться, что текстовое поле получает фокус (внутри него помещается мигающий курсор) после определенного действия. Я пытался использовать свойство Focused, но оно не работает, или объект не имеет этого свойства. Это в веб-приложении. Вот код

  reportPage = Aliases.iexplore.IESA;  
  saveWindow = reportPage.Find("ObjectIdentifier", "MainContent_saveFilterSetDialog_saveDialog", 50, true);
  saveWindowNameTextBox = saveWindow.Find("ObjectIdentifier", "*MainContent_*_sfsName", 25, true);
  if(saveWindowNameTextBox.Focused == true)
    Log.Message("The blinking cursor is inside of the name text box")
  else
    Log.Error("The blinking cursor is not inside of the name text box")

В окне журнала написано «Ожидание сфокусировано», затем происходит сбой, и в журнале появляется сообщение «Не удалось найти объект с указанными свойствами».

ПРИМЕЧАНИЕ. Когда я проверяю этот объект текстового поля в окне инспектора объектов, «Focused» не отображается в списке свойств.

Есть ли другой способ сделать это?


person Mike Johnston    schedule 16.12.2015    source источник


Ответы (1)


Я смог сделать это, используя свойство ActiveElement HTML DOM.

  var actualFocusedElement = Sys.Browser().Page("*BC/Report*").contentDocument.activeElement.id    
  if(aqString.Contains(actualElement, "saveDialog_tmpl_sfsName", 0, true))
    Log.Message("The blinking cursor is inside of the name text box")
  else
    Log.Error("The blinking cursor is not inside of the name text box") 
person Mike Johnston    schedule 18.12.2015