Как определить объект HTML по его стилю в HP QTP? - PullRequest
2 голосов
/ 04 августа 2011

У меня есть веб-приложение и два объекта с одинаковым именем класса (без идентификаторов), другие атрибуты также одинаковы.Разница только в одних и тех же атрибутах стиля: у одного объекта "style.display='block'", у другого "style.display='none'".(могут быть другие атрибуты стилей!)

Как я могу определить первый объект по его атрибутам стиля?Для таких имен я мог бы использовать "attribute/name", но есть ли что-нибудь подобное для стиля?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 04 августа 2011

Редактировать: Мой первоначальный ответ был верным для своего времени, но с тех пор UFT добавил поддержку style/ свойств.Теперь вы можете использовать style/display:=none".


Это действительно ограничение в QTP: (

Одна вещь, которую вы можете сделать, это написать небольшой проект WebExtesibility, которыйдобавляет свойство display к вашему тестовому объекту.

1 голос
/ 19 сентября 2012

Я знаю, что это старый вопрос, но он принят так, как будто для него нет простого решения, в то время как есть:

Да, можно, но этобыть атрибутом фактического объекта и не наследоваться родительскими объектами (ну, у меня были отрицательные результаты в этой ситуации).

' Make a new description for the object
Set desc = Description.Create()
desc("micclass").Value = "WebButton"   ' assuming webbutton here
desc("Class Name").Value = "YourClassName"

' This returns a collection with buttons matching your description
Set Btns = Browser("YourBrowser").Page("YourPage").ChildObjects(desc)

For BtnIndex = 0 to Btns.Count - 1
    ' This will show you the display style, so you can make a selector here
    MsgBox "Button " & BtnIndex & " has display style: " & Btns(BtnIndex).Object.currentStyle.Display
Next
...