как получить доступ к объектам во время выполнения в QTP? - PullRequest
1 голос
/ 03 июня 2010

У нас есть функция, которая обращается к двум типам элементов управления, таким как кнопка и список в стандартном приложении Windows. Функция использует в качестве аргументов только имя элемента управления, поэтому qtp никак не может понять, что это за элемент управления. как решить это? Написать 2 отдельные функции - 1 для кнопки и еще одну для списка?

1 Ответ

2 голосов
/ 03 июня 2010

Это зависит от того, что вы хотите сделать с объектом, если вы хотите сделать что-то общее для всех WinObjects (например, Click или GetROProperty), вы можете сделать это, если это характерно для разных тестовых объектов вам придется использовать разные методы (или, по крайней мере, внутренне к ним относиться)

Пример для Calc.exe в научном режиме:

Public Function Click(ByVal Name)
   Window("text:=Calculator").WinObject("text:=" & Name).Click
End Function

Click "8" ''# This is a button
Click "Oct" ''# This is a radio button

После запуска получается 10 (8 в восьмеричном)


Другой способ сделать это - использовать ChildObjects, чтобы получить все объекты, которые соответствуют этому свойству (в данном случае одно), проверить, какой это тип объекта (GetROProperty("micclass")), и включить его в выполнить ваши конкретные действия.

...