Установка ссылки на объект в UFT с оператором выполнения или без него

Недавно мне был назначен проект, в котором ссылки на объекты устанавливаются с использованием операторов «Выполнить», как показано ниже:

Execute "Set objButton = XamRibbonWindowAddin(""XamWindow_DashBoard"").WpfButton(""Save"")"

Принимая во внимание, что мой подход к установке ссылок на объекты всегда был таким (без оператора «Выполнить»):

Set objButton = XamRibbonWindowAddin("XamWindow_DashBoard").WpfButton("Save")

Я использую последний метод, так как он позволяет мне использовать Intellisense в UFT, что иногда является большим преимуществом.

Есть ли какая-то причина, по которой мне нужно переключиться на 1-й подход, или мне следует спросить, чем один подход лучше другого? Я не мог получить много из Интернета.


person Gurmanjot Singh    schedule 24.05.2017    source источник


Ответы (1)


Пока код Executed предопределен и не содержит частей, динамически определяемых тестом, я не вижу никакой пользы от использования Execute.

Примером динамического кода может быть что-то вроде этого надуманного примера, который определяет, какая переменная вызывается в соответствии с некоторым ранее вычисленным значением theType.

Execute "Set obj" & theType & " = XamRibbonWindowAddin(""XamWindow_DashBoard"").Wpf" & theType & "(""Save"")"

Затем, если theType является Кнопкой, будет определена переменная objButton, а если Редактировать, будет определена objEdit.

Как я уже сказал, это надуманный пример, я никогда не сталкивался с чем-либо, что потребовало бы от вас использования Execute в UFT.

Поскольку вы входите в существующую кодовую базу, согласованность имеет свои значения. Если возможно, я бы спросил одного из ваших более опытных коллег, что побудило их использовать эту конструкцию, чтобы лучше сформировать мнение.

person Motti    schedule 24.05.2017
comment
Спасибо за ваш вклад, Мотти. Не могли бы вы поделиться примером, в котором код внутри оператора Execute имеет некоторую динамическую часть, и в этом случае я был бы более склонен к установке ссылки на объект с помощью оператора Execute? - person Gurmanjot Singh; 24.05.2017