Перейти к содержимому

Фотография

Как избавиться от ошибки выпадающей в лог


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 blackdef

blackdef

    Новый участник

  • Members
  • Pip
  • 15 сообщений
  • ФИО:Плотников Федор


Отправлено 29 ноября 2011 - 11:18

Здравствуйте.
Вводная.
Использую TC 7.53. Тесты пишу на JScript.
Возникает вот такая необходимость
Ищу на форме объект
var PropArray = ConvertJScriptArray(new Array("Name", "Enabled","Visible")); 
var ValuesArray = ConvertJScriptArray(new Array("WinFormsObject(\"fldBadImport\")", true, true)); 
var fldfldBadImport = importMasterWindowControl.FindChild(PropArray, ValuesArray);
Далее мне надо проверить его существование.
Если он существует выполнить действие одно иначе логично необходимо выполнять другое действие.
Возникает следующая проблема. Если объект не находится, то в логи выпадает ошибка
Unable to find the object WinFormsObject("fldBadImport").
И как следствие весь лог превращается в отрицательный, т.е. с ошибкой.
По логике мне эта ошибка не важна и мне глубоко без разнице на нее.
Что надо сделать что бы эта ошибка в лог не выпадала и не портила настроение? :-)

Заранее благодарен.
  • 0

#2 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 29 ноября 2011 - 13:26

Вы уверены, что ошибка выпадает именно при вызове FindChild? А не на какой-то другой строчке?
По идее, методы типа Find* как раз сделаны, чтобы избежать таких ошибок и проверить в скрипте, есть объект или нет.
  • 0

#3 XXX

XXX

    Опытный участник

  • Members
  • PipPipPipPip
  • 284 сообщений
  • ФИО:Денис Викторович
  • Город:Санкт-Петербург


Отправлено 29 ноября 2011 - 16:02

Далее мне надо проверить его существование.
Если он существует выполнить действие одно иначе логично необходимо выполнять другое действие.
Возникает следующая проблема. Если объект не находится, то в логи выпадает ошибка

Unable to find the object WinFormsObject("fldBadImport").
И как следствие весь лог превращается в отрицательный, т.е. с ошибкой.
По логике мне эта ошибка не важна и мне глубоко без разнице на нее.
Что надо сделать что бы эта ошибка в лог не выпадала и не портила настроение? :-)

Заранее благодарен.



Так а где строчка в которой проверяется существование объекта ?в ней же проблема, а не до нее )
а вообще при проверке существования объекта, как уже очень много раз здесь говорилось, нужно использовать Wait .
Подробнее описано здесь http://tctutorial.ru/synch/
  • 0

#4 blackdef

blackdef

    Новый участник

  • Members
  • Pip
  • 15 сообщений
  • ФИО:Плотников Федор


Отправлено 29 ноября 2011 - 19:45

Спасибо за ответы.
Для прояснения и уточнения перепосылаю расширенный кусок кода.
За ранее благодарен за ответ и совет :-)
  var PropArray = ConvertJScriptArray(new Array("Name", "Enabled","Visible")); 
  var ValuesArray = ConvertJScriptArray(new Array("WinFormsObject(\"fldBadImport\")", true, true)); 
  var fldfldBadImport = importMasterWindowControl.FindChild(PropArray, ValuesArray);
  if(fldBadImport.Exists)    
  {
    badDoc = parseInt(fldBadImport.wText);    //Если fldBadImport присутствует берем его значение и конвертим в int
  }
  else
  {
    badDoc = 0;     //Если fldBadImport не найден, то просто присваиваем 0
  }

  • 0

#5 blackdef

blackdef

    Новый участник

  • Members
  • Pip
  • 15 сообщений
  • ФИО:Плотников Федор


Отправлено 29 ноября 2011 - 20:05

Всем спасибо!
После того как запостил предыдущее сообщение я нашел свою ошибку... Сорри, что оторвал ваше время. Честно слово не со зла... искал ошибку 2 дня... :-(

Вопрос исчерпан. Тему можно закрывать.
  • 0

#6 blackdef

blackdef

    Новый участник

  • Members
  • Pip
  • 15 сообщений
  • ФИО:Плотников Федор


Отправлено 29 ноября 2011 - 20:09

Всем спасибо!
После того как запостил предыдущее сообщение я нашел свою ошибку... Сорри, что оторвал ваше время. Честно слово не со зла... искал ошибку 2 дня... :-(

Вопрос исчерпан. Тему можно закрывать.
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных