Сравнительно сложно работать с приложениями SWT, поскольку они содержат слишком много объектов без надежных идентификационных свойств. Например, все составные объекты не отличаются друг от друга, и единственный способ отличить их - это свойство Index . Однако это свойство получает значение в зависимости от порядка создания объекта и, очевидно, может меняться от запуска к запуску.
Хороший способ работы с такими приложениями - использование функции сопоставления имен. При работе с приложением Eclipse наиболее надежный способ сопоставления объектов - избегать использования индексов и использования функции Required Children . В этом случае для сопоставления объекта без строгих свойств идентификации необходимо найти его дочерний или внучатый объект, который можно надежно идентифицировать (например, кнопку с уникальным заголовком), и указать его в качестве обязательного дочернего объекта. Дополнительную информацию об этой функции можно найти в разделе справки « Указание дочерних объектов, необходимых для идентификации сопоставленных объектов »:
http://smartbear.com/support/viewarticle/12481/
Вы также можете использовать функцию Extended Find в функции сопоставления имен. Эта функция похожа на метод FindChild , который можно использовать в сценариях. Дополнительную информацию об этой функции см. В разделе справки « Использование расширенных критериев поиска для идентификации сопоставленных объектов» :
http://smartbear.com/support/viewarticle/12466/
Кстати, я рекомендую вам посмотреть скриншот « Создание надежных тестов для динамических объектов с сопоставлением имен », который поможет вам лучше понять функциональность сопоставления имен:
http://smartbear.com/support/screencasts/testcomplete/reliable-tests-for-dynamic-objects/
Также вы можете задать свои вопросы по поводу TestComplete на официальном форуме:
http://smartbear.com/forums/