Я наблюдаю странную вещь с методом Page.GetTOProperty. Шаги для воспроизведения:
- Создание нового компонента сценария тестирования бизнес-процессов (BPT) (используйте «пустую» область приложения без каких-либо библиотек или репозиториев общих объектов)
- Откройте один экземпляр браузера IE и перейдите на google.com (или любой другой веб-сайт, это не имеет значения)
- Используйте объект-шпион, чтобы добавить тестобъект страницы в хранилище объектов на основе действий («ИЛИ»). Когда предлагается, не добавляйте никакие объекты-потомки (должны быть дочерними) (кроме браузера, который добавляется автоматически при добавлении страницы)
- Закройте экземпляр браузера (или нет, это не имеет значения)
Вставьте этот код скрипта:
Dim IndexPropVal
IndexPropVal = Браузер ("Google"). Страница ("Google"). GetTOProperty ("index")
Печать "IndexPropVal =" & CSTr (IndexPropVal) & "IsEmpty =" & CStr (IsEmpty (IndexPropVal)) *
Запустить скрипт
Вопросы:
В некоторых случаях это 10002, в других 20002 или 30002, причина которых неизвестна.
Что я и ожидал, так как для всех свойств TO, которые не определены в OR, GetTOProperty должен возвращать пустое значение?
Различия (10002 против 20002 против 30002) могут зависеть от того, находится объект тестирования в объектном ИЛИ или нет, и / или является ли сценарий компонентом или сценарием действия графического интерфейса в некотором роде, но это не не всегда так.
Это, безусловно, не зависит от того, как часто вы запускаете скрипт, или если вы закрываете UFT между запусками.
Также не имеет значения, включаете ли вы интеллектуальную идентификацию в глобальном масштабе или для каждой отдельной записи ИЛИ (т. Е. Записи ИЛИ в браузере и записи ИЛИ страницы).
Я не могу найти какую-либо воспроизводимую зависимость!
Я заметил это первым в UFT 14.50.
Я уверен, что UFT 12.03 правильно использовался для сообщения пустого значения, если в хранилище объектов не было определено свойство индекса.
Что происходит?