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

Фотография

Как получить значение поля


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

#1 gira13

gira13

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

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

Отправлено 07 августа 2014 - 07:22

Добрый день!

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

Есть объект: в приложении выглядит: 02.png

В свойствах нет ни поля Text, ни поля Value: 01.png(само поле), 00.png(child этого поля)

Видела подобный вопрос: http://software-test...+значение +поля

С решением:

Попробуйте:
 

  • в Tools > Options > Engines > General включить опцию Show hidden properties;
  • в свойствах проекта > Open Applications > MSAA включить опцию Work with MSAA objects in mode compatible with TestComplete 6 and earlier.

 

  • Попробовала, не помогло

Прикрепленные файлы

  • Прикрепленный файл  02.png   1,24К   0 Количество загрузок:
  • Прикрепленный файл  00.png   501,16К   0 Количество загрузок:
  • Прикрепленный файл  01.png   504,38К   0 Количество загрузок:

  • 0

#2 nastya.e

nastya.e

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

  • Members
  • Pip
  • 19 сообщений
  • ФИО:Анастасия

Отправлено 07 августа 2014 - 08:45

Добрый день.

Объект SubLabel не может содержать необходимое вам значение? 

Можете предоставить скрины всех дочерних объектов F_ACCOUNTNUMBER ?


  • 0

#3 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 07 августа 2014 - 09:51

Проще всего (если есть возможность) - спросить у разработчиков, какое нужно свойство.

Попробуйте поискать во вложенных свойствах объекта F_ACCOUNTNUMBER и его чилдов - там, где свойство показывает (Object), нажмите [...].

В Object Browser в списке свойств/методов есть категория Debug Agent? Если нет - значит, приложение без отладочной информации, и поэтому часть свойств не видна. Разработчики могут сделать версию с отладочной информацией? Настройки компилятора - здесь.

Еще идеи (применять по отдельности, не все сразу):

  • Ассоциировать класс объекта со стандартным текстбоксом.
    Для этого поймайте поле Object Spy'ем, посмотрите его WndClass и добавьте этот WndClass в свойства проекта -> Object Mapping -> Win32 Controls and Windows -> Edit box. Должны появится дополнительные свойства.
  • Включить для объекта распознавание с помощью MSAA или UI Automation.
    Для этого добавьте WndClass в свойства проекта -> Open Applications -> MSAA или UI Automation (что-то одно). Может быть, появятся дополнительные свойства.
  • Включить для объекта Text Recognition.
    Для этого добавьте WndClass в свойства проекта -> Open Applications -> Text Recognition. Может быть, появятся дополнительные свойства.

  • 0

#4 gira13

gira13

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

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

Отправлено 07 августа 2014 - 10:03

SubLabel содержит название лейбла

Вообще даже методов мало для данных полей. А может быть, что приложение вроде и открытое, но как-то запущенное, как закрытое.

Просто данное приложение запускается через cmd-файл, в которых указаны параметры запуска

 

Прикрепленные файлы

  • Прикрепленный файл  03.png   471,18К   0 Количество загрузок:
  • Прикрепленный файл  04.png   473,76К   0 Количество загрузок:

  • 0

#5 gira13

gira13

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

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

Отправлено 07 августа 2014 - 10:14

 

Проще всего (если есть возможность) - спросить у разработчиков, какое нужно свойство.

Попробуйте поискать во вложенных свойствах объекта F_ACCOUNTNUMBER и его чилдов - там, где свойство показывает (Object), нажмите [...].

В Object Browser в списке свойств/методов есть категория Debug Agent? Если нет - значит, приложение без отладочной информации, и поэтому часть свойств не видна. Разработчики могут сделать версию с отладочной информацией? Настройки компилятора - здесь.

Еще идеи (применять по отдельности, не все сразу):

  • Ассоциировать класс объекта со стандартным текстбоксом.
    Для этого поймайте поле Object Spy'ем, посмотрите его WndClass и добавьте этот WndClass в свойства проекта -> Object Mapping -> Win32 Controls and Windows -> Edit box. Должны появится дополнительные свойства.
  • Включить для объекта распознавание с помощью MSAA или UI Automation.
    Для этого добавьте WndClass в свойства проекта -> Open Applications -> MSAA или UI Automation (что-то одно). Может быть, появятся дополнительные свойства.
  • Включить для объекта Text Recognition.
    Для этого добавьте WndClass в свойства проекта -> Open Applications -> Text Recognition. Может быть, появятся дополнительные свойства.

 

Object-ы я все пересмотрела, нигде ничего нет похожего, а остальное помогло: поробовала все идеи поочередно и везде появилось дополнительное свойство, откуда можно считать текст

Огромное спасибо


  • 0

#6 gira13

gira13

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

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

Отправлено 02 сентября 2014 - 09:50

А есть ли аналог свойства проекта -> Object Mapping -> Win32 Controls and Windows в TestComplete 7?

Остальные аналоги нашла( MSAA или UI Automation, Text Recognition), но самое удобное Win32 Controls
Просто наверное не получится использовать 10-ую, а там уже кое-что сделала.
Меня интересует как заменить:  
когда я добавила свой класс  в Win32 Controls, то у  объекта obj  добавилось свойство wText  и в некоторых случаях я писала
obj.WaitProperty("wText","test",10000);
Если же я добавлю класс в UI Automation, то, чтобы считать текст - это уже не прямое свойство, а obj.NativeUIAObject.Name
Т.е. можно просто заменить на
obj.NativeUIAObject.WaitProperty("Name","test",10000);

  • 0

#7 gira13

gira13

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

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

Отправлено 02 сентября 2014 - 12:58

 

А есть ли аналог свойства проекта -> Object Mapping -> Win32 Controls and Windows в TestComplete 7?

Остальные аналоги нашла( MSAA или UI Automation, Text Recognition), но самое удобное Win32 Controls
Просто наверное не получится использовать 10-ую, а там уже кое-что сделала.
Меня интересует как заменить:  
когда я добавила свой класс  в Win32 Controls, то у  объекта obj  добавилось свойство wText  и в некоторых случаях я писала
obj.WaitProperty("wText","test",10000);
Если же я добавлю класс в UI Automation, то, чтобы считать текст - это уже не прямое свойство, а obj.NativeUIAObject.Name
Т.е. можно просто заменить на
obj.NativeUIAObject.WaitProperty("Name","test",10000);

 

 Заменила, пишет ошибку, что объект не поддерживает метод, правда может ошибка в другом,т.к. пишет колонка 4, а у меня сам метод начинается с 84 колонки. Хотя с obj.WaitProperty("wText","test",10000); работало, а теперь получается снова надо что-то  выдумывать?


  • 0

#8 gira13

gira13

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

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

Отправлено 02 сентября 2014 - 13:03

сорри, слиптор, нашла -не там искала


  • 0


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

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