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

Фотография

QTP: проблема с опознанием объектов в JavaTree, JavaList, JavaToolbar


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

#1 Quino

Quino

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

  • Members
  • Pip
  • 53 сообщений
  • ФИО:Борисов Виктор Александрович
  • Город:Москва

Отправлено 29 августа 2011 - 08:42

Здравствуйте. Подскажите пожалуйста, проблема заключается в том, что QuickTest не понимает, не распознает элементы в JavaTree, JavaList, JavaToolbar.
Не могу понять, какие свойства указать в ObjectIdentification, чтобы узлы в дереве, кнопки в тулбаре, элементы в джаваЛисте были опознаны.
  • 0

#2 ch_ip

ch_ip

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

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


Отправлено 29 августа 2011 - 09:52

1. OS -?
2. QTP version -?
3. Java add-in подключен?
4. Java version - ?
5. Приложение внутри браузера или десктопное?
6. Если внутри браузера, то какой браузер и какая у него версия?
7. Java приложение запускается нормально?
8. Какие-нибудь другие джава-объекты распознаются?
  • 0

#3 Quino

Quino

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

  • Members
  • Pip
  • 53 сообщений
  • ФИО:Борисов Виктор Александрович
  • Город:Москва

Отправлено 29 августа 2011 - 10:20

1. OS -?
2. QTP version -?
3. Java add-in подключен?
4. Java version - ?
5. Приложение внутри браузера или десктопное?
6. Если внутри браузера, то какой браузер и какая у него версия?
7. Java приложение запускается нормально?
8. Какие-нибудь другие джава-объекты распознаются?


1. Windows XP
2. QuickTest version 9.5
3. Подключен
4. jdk 1.6.0_24
5. Десктопное
7. Да
8. Распознаются: кнопки, поля, - распознаются все объекты, которым я в коде приложения проставил developer name, а компонентам дерева и листа - я не могу dev name засетить, так как это невозможно сделать в принципе.
Отсюда проблемы. Если я не могу это сделать (dev name), то соответсвенно нужно пытаться по другим свойствам цеплять элементы, но я не понимаю по каким...
И еще: если записать Action, в котором я перемещаюсь по узлам дерева, создаю дочерние элементы и так далее, то при воспроизведение Action - все ок. Он все понимает. Но если перезапустить приложение и попробовать прогнать Action, то он выдает ошибку - не опознает элементы.
  • 0

#4 Zenturio

Zenturio

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

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


Отправлено 29 августа 2011 - 10:32


1. OS -?
2. QTP version -?
3. Java add-in подключен?
4. Java version - ?
5. Приложение внутри браузера или десктопное?
6. Если внутри браузера, то какой браузер и какая у него версия?
7. Java приложение запускается нормально?
8. Какие-нибудь другие джава-объекты распознаются?


1. Windows XP
2. QuickTest version 9.5
3. Подключен
4. jdk 1.6.0_24
5. Десктопное
7. Да
8. Распознаются: кнопки, поля, - распознаются все объекты, которым я в коде приложения проставил developer name, а компонентам дерева и листа - я не могу dev name засетить, так как это невозможно сделать в принципе.
Отсюда проблемы. Если я не могу это сделать (dev name), то соответсвенно нужно пытаться по другим свойствам цеплять элементы, но я не понимаю по каким...
И еще: если записать Action, в котором я перемещаюсь по узлам дерева, создаю дочерние элементы и так далее, то при воспроизведение Action - все ок. Он все понимает. Но если перезапустить приложение и попробовать прогнать Action, то он выдает ошибку - не опознает элементы.

А покажите код кликов по дереву и какие элементы в этом случае записывает QTP в репозиторий?
  • 0

#5 Quino

Quino

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

  • Members
  • Pip
  • 53 сообщений
  • ФИО:Борисов Виктор Александрович
  • Город:Москва

Отправлено 29 августа 2011 - 10:45

А покажите код кликов по дереву и какие элементы в этом случае записывает QTP в репозиторий?


JavaWindow("Программа конфигурирования").JavaTree("TreeView$ExplorerTree").Select "fb;Клиенты;client1"
JavaWindow("Программа конфигурирования").JavaToolbar("JavaToolbar").Press "esender"
JavaWindow("Программа конфигурирования").JavaTree("TreeView$ExplorerTree").Select "fb;Клиенты;Планы"
JavaWindow("Программа конфигурирования").JavaTree("TreeView$ExplorerTree").Select "fb;Пользователи"
JavaWindow("Программа конфигурирования").JavaTree("TreeView$ExplorerTree").Select "fb;Сервера"
JavaWindow("Программа конфигурирования").JavaTree("TreeView$ExplorerTree").Click 58,276,"RIGHT"
JavaWindow("Программа конфигурирования").JavaMenu("Добавить новый сервер").Select

Прикрепленные файлы

  • Прикрепленный файл  1.JPG   153,53К   17 Количество загрузок:

  • 0

#6 Zenturio

Zenturio

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

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


Отправлено 29 августа 2011 - 11:16


А покажите код кликов по дереву и какие элементы в этом случае записывает QTP в репозиторий?


JavaWindow("Программа конфигурирования").JavaTree("TreeView$ExplorerTree").Select "fb;Клиенты;client1"
JavaWindow("Программа конфигурирования").JavaToolbar("JavaToolbar").Press "esender"
JavaWindow("Программа конфигурирования").JavaTree("TreeView$ExplorerTree").Select "fb;Клиенты;Планы"
JavaWindow("Программа конфигурирования").JavaTree("TreeView$ExplorerTree").Select "fb;Пользователи"
JavaWindow("Программа конфигурирования").JavaTree("TreeView$ExplorerTree").Select "fb;Сервера"
JavaWindow("Программа конфигурирования").JavaTree("TreeView$ExplorerTree").Click 58,276,"RIGHT"
JavaWindow("Программа конфигурирования").JavaMenu("Добавить новый сервер").Select

Первоначально, почему у вас определение дерева идет по полю items count
У вас число все время постоянное?
  • 1

#7 Quino

Quino

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

  • Members
  • Pip
  • 53 сообщений
  • ФИО:Борисов Виктор Александрович
  • Город:Москва

Отправлено 29 августа 2011 - 11:19

При запуске приложения - постоянное, но при работе в приложении, добавлении объектов в дереве, их удалении - items count конечно же меняется
Убрал items count
Но ведь в ObjectIdentification у меня и другие свойства указаны помимо items count
  • 0

#8 Zenturio

Zenturio

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

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


Отправлено 29 августа 2011 - 11:26

нет, непостоянное.
Убрал items count
Но ведь в ObjectIdentification у меня и другие свойства указаны помимо items count

Так сейчас работает?
Ну тогда вам нужно включить smartidentification
А сейчас работает только если совпадают все свойства объекта - т.е. идет условие "И"
  • 1

#9 Quino

Quino

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

  • Members
  • Pip
  • 53 сообщений
  • ФИО:Борисов Виктор Александрович
  • Город:Москва

Отправлено 29 августа 2011 - 11:40

Так сейчас работает?
Ну тогда вам нужно включить smartidentification
А сейчас работает только если совпадают все свойства объекта - т.е. идет условие "И"

Неа, не работает.
1. Включил smartidentification
2. Записал Action
3. Не перезапуская приложение, прогнал его
4. Все ок.
5. Перезапустил приложение
6. Action валится

вложил скрин Object Identification

Прикрепленные файлы

  • Прикрепленный файл  1.JPG   817,14К   7 Количество загрузок:

  • 0

#10 Zenturio

Zenturio

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

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


Отправлено 29 августа 2011 - 11:46


Так сейчас работает?
Ну тогда вам нужно включить smartidentification
А сейчас работает только если совпадают все свойства объекта - т.е. идет условие "И"

Неа, не работает.
1. Включил smartidentification
2. Записал Action
3. Не перезапуская приложение, прогнал его
4. Все ок.
5. Перезапустил приложение
6. Action валится

вложил скрин Object Identification

вы должны включить smartidentification для элемента
1. Поставьте точку остановки на той команде где валится
Найдите объект, в репозитории, подсветите его.
Подсветится ли он на экране? Если нет, то нужно эксперементировать с параметрами
И вообще уберите лучше поле items count для элементов
  • 1

#11 Quino

Quino

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

  • Members
  • Pip
  • 53 сообщений
  • ФИО:Борисов Виктор Александрович
  • Город:Москва

Отправлено 29 августа 2011 - 11:51

вы должны включить smartidentification для элемента
1. Поставьте точку остановки на той команде где валится
Найдите объект, в репозитории, подсветите его.
Подсветится ли он на экране? Если нет, то нужно эксперементировать с параметрами
И вообще уберите лучше поле items count для элементов


Спасибо, буду копать.
  • 0

#12 Quino

Quino

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

  • Members
  • Pip
  • 53 сообщений
  • ФИО:Борисов Виктор Александрович
  • Город:Москва

Отправлено 29 августа 2011 - 12:42

Он вообще не воспринимает узлы дерева.
Он Дерево - представляет в виде цельного объекта
Так что, подсветить элементы дерева - мне не удается

Прикрепленные файлы

  • Прикрепленный файл  1.JPG   205,21К   9 Количество загрузок:

  • 0

#13 ch_ip

ch_ip

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

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


Отправлено 29 августа 2011 - 14:41

1. Убрать items_count и другие динамические свойства из Object Identification. Оставить только те, которые не меняются от сессии к сессии.
2. Да, распознавание объекта идет по совокупности всех свойств, которые были запомнены для этого объекта. Mandatory свойства запоминаются всегда, Assistive только в случае, когда набора Mandatory свойств не хватает для однозначного определения объекта в момент записи
3. Никогда не надо включать Smart Identification при прогоне теста. При записи полезно, да. При запуске обычно только мешает. Гораздо правильнее подобрать набор свойств, который обеспечит вам стабильную идентификацию элемента
4. Судя по приведенному коду, у вас нормально распознаются все объекты. Dev name - не единственное свойство, которое можно использовать для распознавания объектов. Почитайте справку QTP про Object Identification, статью Михаила Давыдова в библиотеке S-T
5. Вы можете спокойно выбрать любой узел из дерева. Вам обязательно нужны, чтобы элементы дерева представлялись отдельными объектами? Если да, то зачем? Чисто теоретически это можно сделать с помощью Java Extensibility Toolkit. Вот только я не помню, начиная с какой версии он поставляется в составе QTP. Может быть в 9.5 его еще не было. нет машинки с 9.5 под рукой, чтобы проверить.
  • 1

#14 Zenturio

Zenturio

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

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


Отправлено 29 августа 2011 - 15:57

Вот вам ссылочка http://groups.google...3aba57dbf?pli=1 как вариант вывести список узлов и посмотреть путь к каждому узлу
  • 1

#15 Quino

Quino

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

  • Members
  • Pip
  • 53 сообщений
  • ФИО:Борисов Виктор Александрович
  • Город:Москва

Отправлено 30 августа 2011 - 11:46

Здесь было ненужное в данном случае цитирование.


Вы проводите обучение по QuickTest PRO? Хочу освоить данный инструментарий.

Сообщение отредактировал ch_ip: 30 августа 2011 - 12:18
Чезмерное цитирование (оверквотинг)

  • 0

#16 ch_ip

ch_ip

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

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


Отправлено 30 августа 2011 - 12:16

Вы проводите обучение по QuickTest PRO? Хочу освоить данный инструментарий.

Да, я провожу тренинги по QTP в Учебном Центре "Люксофт". Подробности лучше через личные сообщения или в скайпе: mister.chipmunk
  • 0


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

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