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

Фотография

TestComplete и Qt


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

#1 Venima

Venima

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Аминев Булат

Отправлено 14 марта 2013 - 12:38

Здравствуйте, я начинающий тестировщик и сейчас осваиваю работу с TestComplete 7.52.687.3.
Тестировать предполагается Qt приложение и в связи с этим очень интересуют возможности TestComplete в этом плане. Долго искал в документации, гуглил и экспериментировал, но не смог получить ответа на один вопрос:

Может ли TestComplete рабоатать с Release-версией Qt-приложения как с white box?

Поясню: я смог увидеть "внутренности" Debug-версии приложения - все классы и все остальное - все супер. Но в документации ничего не написано по поводу того, что нужна обязательно отладочная информация, поэтому и возникает вопрос про Release.
В документации отдельно написано как сделать "открытыми" приложения, собранные под Visual Studio - я убирал оптимизацию, даже включал для релизной сборки отладочную информацию... в общем, делал все, но TestComplete видит приложение как "открытое" (судя по значку) и в то же время лишь показывает, что я имею дело с Window("QObject",...). Вот и все - глубже он не видит, даже не отображает QObjectName. В общем, не распознает приложение как Qt-приложение (значка Qt в Object Browser, естественно, нет). С Debug-версией проблем нет - все прекрасно видно - вся иерархия объектов, свойства и прочее... (Debug Info Agent включен по умолчанию).
Так есть ли возможность "увидеть кишки" Release-версии Qt-приложения или нет? Я пробовал и с Qt 4.8.4 и даже собрал Qt 4.5.0 - результат один и тот же.
Кто-нибудь сталкивался с тестированием Qt-приложением на TestComplete? Как это делают?

Зачем мне тестирование Release-версии: я пока работал только с "баловством" - моим мелким приложением - а тестировать придется куда более крупное. Так вот - оно реализовано весьма грамотно и активно использует динамические библиотеки... не вдаваясь в подробности, сходу у этого приложения TestComplete (в Debug-версии) видит только виджет главного окна и его "внутренности". Приходится включать флаг "Read debug information for statically linked libraries", а это "смерти подобно"... Приложение становится безусловно "видимым", но чтобы его "увидеть" приходится ждать на моей машинке минуты 2... Поэтому хотелось бы узнать о Release (без отладочной информации).
Система: Win7SP1.

Буду очень принателен, если скажете, можно ли "увидеть" через TestComplete релизную версию или нет. Заранее благодарю.
  • 0

#2 Genka

Genka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 14 марта 2013 - 13:05

Я с Qt из тесткомплита не работал, по идее этой проблемы быть не должно.
Попробуйте проверить вот это:

You must not rename or modify the following modules of the tested Qt application: QtGui4.dll and QtCore4.dll. These libraries are used by TestComplete when it recognizes the application and its objects. If you rename or modify these files, TestComplete will fail to access them (or some functions defined in these modules) and you will not be able to access the tested application’s objects from a test.


  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#3 Venima

Venima

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Аминев Булат

Отправлено 14 марта 2013 - 13:10

Я с Qt из тесткомплита не работал, по идее этой проблемы быть не должно.
Попробуйте проверить вот это:

You must not rename or modify the following modules of the tested Qt application: QtGui4.dll and QtCore4.dll. These libraries are used by TestComplete when it recognizes the application and its objects. If you rename or modify these files, TestComplete will fail to access them (or some functions defined in these modules) and you will not be able to access the tested application’s objects from a test.


Спасибо за ответ, но проблема не в этом - переименованием или изменением библиотек никто не занимался - с ними все в порядке, путь к ним указан в PATH, так они и цепляются. Так вы считаете, что TestComplete должен "видеть" Release-версию?
  • 0

#4 Genka

Genka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 14 марта 2013 - 13:13

Спасибо за ответ, но проблема не в этом - переименованием или изменением библиотек никто не занимался - с ними все в порядке, путь к ним указан в PATH, так они и цепляются. Так вы считаете, что TestComplete должен "видеть" Release-версию?


Думаю, что должен, так как иного не указано нигде.
Другое дело, что в случае Release версии сама студия может принудительно отключать любую отладочную информацию. Больше пока ничего в голову не приходит.
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#5 Venima

Venima

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Аминев Булат

Отправлено 14 марта 2013 - 13:21

в случае Release версии сама студия может принудительно отключать любую отладочную информацию.

Да, по умолчанию, в Release-версии не генерируется отладочная информация. Я в этом не мастер, но попытался предприять шаги из раздела "сделаем приложение Visual Studio видимым", там включали генерацию отладочной информации и отключали оптимизацию... я об этом писал, но даже так релизная версия под Qt4.5.0 не "видна". А мне хотелось бы вообще обойтись без чтения Debug Info...
  • 0

#6 modbear

modbear

    Специалист

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

Отправлено 14 марта 2013 - 14:51

Каждая версия ТС поддерживает только определенную версию Qt (какую именно - написано в хелпе). Чтобы работать с другими версиями Qt, надо скачать соответствующие плагины:
http://support.smart...ete/qt-modules/

Кстати, TC 9.20 + Last.FM Scrobbler (Qt 4.8.3) = все видно:
Прикрепленный файл  tc-lastfm.png   11,72К   15 Количество загрузок:
  • 0

#7 Venima

Venima

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Аминев Булат

Отправлено 15 марта 2013 - 20:21

Маленькая поправочка: релизная версия с генерацией отладочной информации (я не знаю, чем еще она отличается кроме оптимизации кода) "видна".
Я дошел до некоторого переосмысления интересующего меня вопроса переформулирую его следующим образом:
Может ли TestComplete "видеть" Qt приложение без отладочной информации?
То есть, может ли TestComplete "видеть" структуру Qt приложения по машинному коду безо всяких подсказок из дополнительных источников информации? (типа при отключенном Debug Info Agent)?
Мне кажется, что нет - по крайней мере при отключенном Debug Info Agent TestComplete перестал "видеть" и Debug-версию приложения.
Аналогично если сам GUI реализован в библиотечках, TestComplete не сможет увидеть его структуру, не прочитав их отладочную информацию.
По сути "видение" TestComplete основано на возможностях Debug Info Agent, так получается?
  • 0

#8 Venima

Venima

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Аминев Булат

Отправлено 27 марта 2013 - 03:55

Похоже на этом сайте я ответов на свои впросы не получу, а жаль...
  • 0

#9 ЮстусТретий

ЮстусТретий

    Постоянный участник

  • Members
  • PipPipPip
  • 201 сообщений
  • ФИО:Сергей

Отправлено 27 марта 2013 - 06:14

То есть, может ли TestComplete "видеть" структуру Qt приложения по машинному коду безо всяких подсказок из дополнительных источников информации? (типа при отключенном Debug Info Agent)?

Нет, не может. Точнее он не может в этом случае видеть protected and private properties and methods. Для доступа к ним используется Debug Info Agent и, соответвенно, нужна Debug Info как источник информации.

Отсюда:
http://support.smart...warticle/32449/

If you want to get access to protected and private properties and methods of your Qt application from your tests, you must enable the Read debug information for statically linked libraries option. When the option is enabled, the Debug Info Agent™, which is enabled by default, provides you with access to protected and private members of your Qt applications.

Замечу, что тем не менее вы можете тестировать Release билд. Все что нужно это включить генерацию debug info для него.
  • 0

#10 IlyaP

IlyaP

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

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Ilya

Отправлено 27 марта 2013 - 12:45

Может ли TestComplete "видеть" Qt приложение без отладочной информации?

Давайте определимся с терминологией сначала. Если под "видеть" подразумевается "видеть объекты QtObject (коими являются окна и контролы) в дереве приложения в Object Browser'e", то да. При этом у этих объектов будут доступны многие свойства и методы, их скорее всего Вам хватит.
Если же Вы при отсутствии дебаг-инфы перестаете "видеть" приложение, то это практически на 100% говорит, что Вы в одной из двух ситуаций:
1. Вы используете поддержку Qt в ТС, не соответствующую версии Qt в приложении;
2. Библиотека Qt, загружаемая в приложение, была изменена (удалены/переименованы некоторые функции).

Если не ошибаюсь, то в ТС 9 (или даже уже в ТС 8.50) поддержка Qt стала более устойчива в приведенных ситуациях и скорее всего в Вашем случае позволит "видеть" приложение, несмотря на несоблюдение условий, указанных в хелпе.
  • 0

#11 Strange miracle

Strange miracle

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

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

Отправлено 25 марта 2014 - 14:57

Добрый вечер, столкнулась с ситуацией..окно определяется с классом QWidget, не могу настроить, сделать...чтобы определились другие компоненты в этом окне. Подскажите, пожалуйста, в каком месте ковыряться =) Тесткомлит 9.3, скачала Qt 4.8.0 Support Modules для этой версии..


  • 0


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

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