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

Фотография

Как проверить сообщение


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

#1 gira13

gira13

    Активный участник

  • Members
  • PipPip
  • 80 сообщений
  • Город:Киев

Отправлено 20 августа 2014 - 13:52

Добрый день!

Версия  TestComplete'a 10.30, trial, использую Java Script, приложение написано на Delphi.Приложение открытое

Хочу проверить, соответствует ли сообщение в окне ожидаемому

У меня есть окно, в котором данное сообщение можно увидеть в элементе rtfmsg(свойство Caption), правда там оно отображается не очень понятно

Я скопировала часть этого сообщения и пытаюсь найти эту часть в самом Caption. В итоге не находит, хотя если пошагово идти, то вижу, что в f_dial.VCLObject("rtfmsg").Caption есть подстрока "u1056?\u1072?\u1093?\u1091?\u1085?\u1086?\u1082?"

f_dial = pp.WaitVCLObject("Dialog",50000);
  if (aqString.Find(f_dial.VCLObject("rtfmsg").Caption,"u1056?\u1072?\u1093?\u1091?\u1085?\u1086?\u1082?")==-1)
  {
   Log.Message("должно быть сообщение 'Рахунок передається в Б2.Для продовження натисніть Ок'");
   Log.Picture(Sys.Desktop.Picture(),"Image","This image was added to the test log from the EventControl1_OnUnexpectedWindow");
   Runner.Stop();
  }

почему метод Find возращает -1?

 

Сам Caption имеет вид(подстрока выделена красным)

{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\fnil\fcharset0 Tahoma;}{\f1\froman\fcharset0 Times New Roman;}{\f2\fnil MS Sans Serif;}}

\viewkind4\uc1\pard\sb100\sa100\lang1058\f0\fs16\u1056?\u1072?\u1093?\u1091?\u1085?\u1086?\u1082? \u1087?\u1077?\u1088?\u1077?\u1076?\u1072?\u1108?\u1090?\u1100?\u1089?\u1103? \u1074? \u1041?2. \u1044?\u1083?\u1103? \u1087?\u1088?\u1086?\u1076?\u1086?\u1074?\u1078?\u1077?\u1085?\u1085?\u1103? \u1085?\u1072?\u1090?\u1080?\u1089?\u1085?\u1110?\u1090?\u1100? \u1054?\u1082?\f1\fs24

\par \pard\lang1049\f2\fs16

\par }


  • 0

#2 XXX

XXX

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

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


Отправлено 20 августа 2014 - 15:21

Первое что приходит в голову... может Caption не является строкой?)  посмотрите что вернет Log.Message(typeof f_dial.VCLObject("rtfmsg").Caption)

Или может каждый слеш в строке заменить двумя слешами?

 

if (aqString.Find(f_dial.VCLObject("rtfmsg").Caption,"u1056?\\u1072?\\u1093?\\u1091?\\u1085?\\u1086?\\u1082?")==-1)


  • 0

#3 gira13

gira13

    Активный участник

  • Members
  • PipPip
  • 80 сообщений
  • Город:Киев

Отправлено 21 августа 2014 - 06:37

Первое что приходит в голову... может Caption не является строкой?)  посмотрите что вернет Log.Message(typeof f_dial.VCLObject("rtfmsg").Caption)

Или может каждый слеш в строке заменить двумя слешами?

 

if (aqString.Find(f_dial.VCLObject("rtfmsg").Caption,"u1056?\\u1072?\\u1093?\\u1091?\\u1085?\\u1086?\\u1082?")==-1)

тип string , а вот двойные слеши помогли, спасибо


  • 0


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

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