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

Фотография

GetErrorProviderText выдает пустую строку


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

#1 Miheich

Miheich

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Михеенко Максим Валерьевич
  • Город:Таганрог

Отправлено 18 августа 2009 - 13:12

QTP 10.0 демо-версия на 14 дней, Framework 3.5.
Опыта и знаний в автоматизации нет.

В докинг-окне есть Edit. Не получается взять текст ошибки для контрола. Следующий код
ErrText=SwfWindow("Модуль 'Кадастровый учет'").SwfEdit("edOGRN").GetErrorProviderText
MsgBox ErrText
показывает окно без надписей, только кнопка.
В сам контрол могу писать
SwfWindow("Модуль 'Кадастровый учет'").SwfEdit("edOGRN").Set "2222222"
Если сделать обычную форму, то все отрабатывает штатно.

Дополнительно могу сообщить, что в ObjectRepository найдены не только собственно Editы, но и ряд объектов, которые определились как SwfObject. Два из этих объектов (SwfObject_8 и SwfObject_9), если подсветить их в приложении, как раз и являются интерисующими меня валидаторами (2 и 3 штуки соответственно) и они подсвечиваются. Попытка работы с объектами SwfObject_8 и SwfObject_9 так же успеха не принесла. Появляется ошибка The test run cannot continue due to an unrecoverable error.
  • 0

#2 headzero

headzero

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

  • Members
  • Pip
  • 24 сообщений

Отправлено 19 августа 2009 - 19:42

ErrorProvider не поддерживается QTP как самостоятельный контрол: имеется ввиду что в базе QTP нету тест обджекта которому бы ставился в соответствий errorProvider поэтому он расспознаеться как SwfObject. Но вы действительно можете получить текст еррор провайдера с помощю метода GetErrorProviderText в случаи если валидатор сработал. попробуйте скобки в конце поставить.

ErrText = SwfWindow("Модуль 'Кадастровый учет'").SwfEdit("edOGRN").GetErrorProviderText()
MsgBox ErrText
Спасибо.
  • 0

#3 Miheich

Miheich

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Михеенко Максим Валерьевич
  • Город:Таганрог

Отправлено 20 августа 2009 - 08:01

попробуйте скобки в конце поставить.

К сожалению не помогло.

Раработчик пытается разобраться с проблемой.
Дело в том, что в другом нашем приложении нормально отрабатывает GetErrorProviderText.
Пока мы понять не можем, чем отличаются эти наши 2 приложения и работа с валидаторами в них, все одно и то же.
Буду признателен за идеи по решению проблемы. Среда - C#
  • 0

#4 headzero

headzero

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

  • Members
  • Pip
  • 24 сообщений

Отправлено 26 августа 2009 - 19:54

Разобрались с проблемой? А какой текст должен быть в валидаторе? Попробуйте а в checkpoint или в Spy errorprovidortext тоже пустое?
  • 0

#5 Miheich

Miheich

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Михеенко Максим Валерьевич
  • Город:Таганрог

Отправлено 02 сентября 2009 - 07:38

Нет, не разобрались. Я тут параллельно еще и TestComplete 7 изучаю, чтобы определится с инструментом автоматизации. Так вот
Set edOGRN = SRCC_Terra_EGRZ_Registration.MainWindow.tsContainer.ToolStripContentPanel.dpPlace.DockWindow.DockPane.EngineerWindow.paWorkplace.gbMainInfoUL.tableLayoutPanelSRCC1.edOGRN
  edOgrn.wText = "123"
  errmsg= SRCC_Terra_EGRZ_Registration.MainWindow.tsContainer.ToolStripContentPanel.dpPlace.DockWindow.DockPane.EngineerWindow.epMain.GetError(edOGRN)
  MsgBox errmsg
выдает требуемое. Извиняюсь за длину строк в коде.
epMain это и есть наш ErrorProvider.
Но в TestCompete с другой проблемой борюсь, с которой в QTP не сталкиваюсь - главное меню...
  • 0


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

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