Перейти к содержимому

Фотография

QTP 9.1: распознавание дополнительных html-тегов (VML)


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 gralex

gralex

    Новый участник

  • Members
  • Pip
  • 52 сообщений
  • ФИО:Груба Алексей

Отправлено 12 ноября 2009 - 16:56

Всем привет,

Есть html-cтраница, использующая нестандартные теги, определяемые стандартом VML (возможность рисовать графические фигуры).
Необходимо проверить наличие элементов, определяемых тегом <rect> (для начала хотя бы). Столкнулся с тем, что QTP не видит таких элементов, пробовал:
1) записывать методом Record&Play (усиленно тыкал мышкой в элемент, но никаких действий не писалось, стандартные элементы пишутся без проблем)
2) через объект Description элементы с тегом <rect> также не находятся
Set descr = Description.Create
descr("html tag").Value = "rect"
Set lst = pg.ChildObjects(descr)
MsgBox lst.count
3) из DOM вытянуть объект можно (но не очень то хотелось бы работать с ним через DOM)
Set lst = pg.getElementsByTagName("rect")
MsgBox lst.length

Вопрос - можно ли как-то "уговорить" QTP работать с нестандартными тэгами?
(относительно нестандартными, поскольку тот же VML - это детище microsoft)
  • 0

#2 Zenturio

Zenturio

    Опытный участник

  • Members
  • PipPipPipPip
  • 386 сообщений
  • ФИО:Дмитрий
  • Город:Смоленск - Москва


Отправлено 13 ноября 2009 - 08:24

Всем привет,

Есть html-cтраница, использующая нестандартные теги, определяемые стандартом VML (возможность рисовать графические фигуры).
Необходимо проверить наличие элементов, определяемых тегом <rect> (для начала хотя бы). Столкнулся с тем, что QTP не видит таких элементов, пробовал:
1) записывать методом Record&Play (усиленно тыкал мышкой в элемент, но никаких действий не писалось, стандартные элементы пишутся без проблем)
2) через объект Description элементы с тегом <rect> также не находятся

Set descr = Description.Create
descr("html tag").Value = "rect"
Set lst = pg.ChildObjects(descr)
MsgBox lst.count
3) из DOM вытянуть объект можно (но не очень то хотелось бы работать с ним через DOM)
Set lst = pg.getElementsByTagName("rect")
MsgBox lst.length

Вопрос - можно ли как-то "уговорить" QTP работать с нестандартными тэгами?
(относительно нестандартными, поскольку тот же VML - это детище microsoft)


Попробуйте определить свойство micclass.
как элементы определяются если добавлять их в репозиторий?
как webelent?
  • 0

#3 gralex

gralex

    Новый участник

  • Members
  • Pip
  • 52 сообщений
  • ФИО:Груба Алексей

Отправлено 13 ноября 2009 - 09:46

Попробуйте определить свойство micclass.
как элементы определяются если добавлять их в репозиторий?
как webelent?


Добавил в Description еще указание miclass (как WebElement) - нашел то, что надо.
Спасибо.
  • 0

#4 ch_ip

ch_ip

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 097 сообщений
  • ФИО:Павел Абдюшев
  • Город:Москва


Отправлено 13 ноября 2009 - 10:20

Попробуйте определить свойство micclass.
как элементы определяются если добавлять их в репозиторий?
как webelent?


Добавил в Description еще указание miclass (как WebElement) - нашел то, что надо.
Спасибо.

при использовании СhildObjects практически всегда нужно добавлять micclass.
Хотя я данный метод вообще не люблю, ибо реализован он весьма странно и временами работает совершенно нелогично. Как-нибудь собирусь описать все особенности его поведения и варианты, чем можно заменить его использование в разных случаях
  • 0

#5 gralex

gralex

    Новый участник

  • Members
  • Pip
  • 52 сообщений
  • ФИО:Груба Алексей

Отправлено 14 ноября 2009 - 10:09

при использовании СhildObjects практически всегда нужно добавлять micclass.
Хотя я данный метод вообще не люблю, ибо реализован он весьма странно и временами работает совершенно нелогично. Как-нибудь собирусь описать все особенности его поведения и варианты, чем можно заменить его использование в разных случаях


Да, я вспомнил, что читал об особенностях указания свойств объекта Description. Самое прикольно, что ссылки он нашел без указание micclass.
У меня есть подозрение, что все теги делятся в QTP на две категории: "правильные" - это все, для которых созданы объекты-оболочки в объектной модели (<table>, <a>, ...) и "неправильные" - все остальные (в том числе и широко используемые div, которые QTP по умолчанию игнорирует).
Вот при поиске "неправильных" тегов и приходится учитывать специфическое поведение методов QTP.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных