WinXP SP2
.NET приложение
Здравствуйте, уважаемые участники форума!
Не понятно по каким причинам иногда при выполнении TreeView.ClickItem(ItemName) выдается сообщение:
There was an attempt to perform a click at point (238, -84) which is out of screen.
Причем ошибка получается примерно в одном из 500 случаев вызова функции.
Привожу код:
procedure AddProp(Name: String); var w1 : OleVariant; var w2 : OleVariant; var w3 : OleVariant; var w4 : OleVariant; begin w1 := Aliases.Admin; w1.WinFormsObject('BarDockControl', '', 5).WinFormsObject('DockedBarControl', '', 2).Click(18, 8); Sleep(200); Aliases.Syst.NodeHost.WaitChild('WinFormsObject(''EditEventWizard'')', 10000); w2 := Aliases.Syst.NodeHost.EditEventWizard.WinFormsObject('tableLayoutPanel1'); w3 := w2.panel1.groupBox2.EventInfoStep.WinFormsObject('eventInfoControl1'); w3.WinFormsObject('textBox1').Keys(Name); w3.WinFormsObject('comboBox1').ClickItem('Численный'); w4 := w3.WinFormsObject('archiveableControl1'); w4.WinFormsObject('checkBoxArchive').ClickButton; w3 := w4.WinFormsObject('numericUpDown1').WinFormsObject('UpDownEdit', ''); w3.DblClick(15, 7); w3.Keys('10'); w2.tableLayoutPanel2.buttonNext.ClickButton; w2 := w1.SplitContainer.SplitterPanel.TreeView; // <<-- объект TreeView w2.ClickItem('|Узел|Объекты узла|nnf4|Свойства|'+Name); w2.ExpandItem('|Узел|Объекты узла|nnf4|Свойства|'+Name); w2.ClickItem('|Узел|Объекты узла|nnf4|Свойства|'+Name+'|Атрибуты'); w2.ClickItem('|Узел|Объекты узла|nnf4|Свойства|'+Name+'|Зависимости'); w2.ClickItem('|Узел|Объекты узла|nnf4|Свойства|'+Name); w2.CollapseItem('|Узел|Объекты узла|nnf4|Свойства|'+Name); w2.ClickItem('|Узел|Объекты узла|nnf4|Свойства'); <<----------- Ошибка возникает тут end; procedure Main; var i: integer; begin try for i := 1 to 100 do begin AddProp('bbb'+FormatFloat('00',i)); end; except Log.Error('Exception', ExceptionMessage) end; end;
Список элементов TreeView получается длинным, поэтому при выполнении ClickItem элементы бывают вне зоны видимости, и, возможно, поэтому TestComplete каким-то образом ссылается за границу зоны видимости TreeView.
Баг ли это TestComplete или я чего-то не так делаю?
И еще вопрос в нагрузку :) Почему-то окна долго определяются. Вызов функции Window.WaitWindow занимает обычно одну-две секунды. Т.е., после появления окна, я его вижу 1-2 секунды, и только потом выполняются операции в этом окне. Происходит это всегда.
Буду очень благодарен за ответы.
С уважением, Зиннатуллин Рустам.