Динамические элементы UFT
#1
Отправлено 30 октября 2013 - 11:24
1. Окно может менять название, при этом название это переменная в базе данных. По каким параметрам можно привязаться к элементу не используя название?
2. UFT не может выполнить свои же записанные действия.
3. На форме располагаются элементы, в зависимости от элементов формы элементы по разному располагаются, по разному называются.
Не хотелось бы добавлять в репозиторий все элементы, а хотелось бы добавить Родителя и искать нужный элемент по его наименованию(это может быть чекбокс, текстбокс) - возможно ли такое?
#2
Отправлено 31 октября 2013 - 12:23
1. Читайте про Object Identification SettingsРешили ознакомиться с UFT для тестирования продукта. И сразу же возникли сложности:
1. Окно может менять название, при этом название это переменная в базе данных. По каким параметрам можно привязаться к элементу не используя название?
2. UFT не может выполнить свои же записанные действия.
3. На форме располагаются элементы, в зависимости от элементов формы элементы по разному располагаются, по разному называются.
Не хотелось бы добавлять в репозиторий все элементы, а хотелось бы добавить Родителя и искать нужный элемент по его наименованию(это может быть чекбокс, текстбокс) - возможно ли такое?
2. Следствие неверно настроенных Object Identification settings, где как раз определяется список атрибутов, по которым QTP запоминает к себе объекты каждого класса. Видимо, для части объектов в этот список попали атрибуты с динамическими значениями, которые меняются при каждом запуске приложения или зависят от какие-то изменяемых параметров.
3. Почему не хотите добавить все лементы в ОР (объектный репозиторий)? Можно обращаться элементам, которых нет в ОР. Читайте про Descriptive Programming
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#3
Отправлено 05 ноября 2013 - 16:18
Никаких свойств претендующих на уникальные нет. Скриншоты в аттаче.
На первом все свойства объекта
На втором собственно сам объект
На третьем скриншоте показано, как выглядит найденный элемент в Ranorex, как подобное получить в HP(который, позиционирует себя как самый мощный инструмент автоматизации тестирования) не понимаю.
Прикрепленные файлы
#4
Отправлено 05 ноября 2013 - 17:08
#5
Отправлено 05 ноября 2013 - 20:20
То же самое, что в Ranorex, можно получить, используя Object Spy.Советы не помогли.
Никаких свойств претендующих на уникальные нет. Скриншоты в аттаче.
На первом все свойства объекта
На втором собственно сам объект
На третьем скриншоте показано, как выглядит найденный элемент в Ranorex, как подобное получить в HP(который, позиционирует себя как самый мощный инструмент автоматизации тестирования) не понимаю.
На чем у вас написан GUI? Установлен ли у вас add-in для работы с данным интерфейсом в QTP и подключен ли он при запуске?
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#6
Отправлено 06 ноября 2013 - 07:33
Вопрос №2: Есть ли встроенные процедуры запуска приложения? Или необходимо в данном случае пользоваться внутренним языком?
Вопрос №3: Есть интерфейс связи тестового кейса с внешними источниками, например Excel или CSV?
#7
Отправлено 06 ноября 2013 - 09:08
Иван, не очень понял оба вопроса. Но постараюсь ответить так, как понял.Вопрос №2: Есть ли встроенные процедуры запуска приложения? Или необходимо в данном случае пользоваться внутренним языком?
Вопрос №3: Есть интерфейс связи тестового кейса с внешними источниками, например Excel или CSV?
2. Для запуска приложений тем же способом, что и из командой строки можно использовать SystemUtils.Run
3. В QTP есть DataTable для тестовых данных. Интерфейс взаимодействия с ним смотрите в хелпе - объект DataTable. В файловой системе он сохраняется как xls-файл, который лежит внутри папки с тестом. Его можно редактировать отдельно от теста.
С CSV-файлами можно работать через FileSystemObject (стандартный интерфейс работы с файлами в VBScript)
Что есть и что хотите получить?
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#8
Отправлено 06 ноября 2013 - 13:00
Павел, спасибо что попытались понять и очень подробно и понятно отвечаете на вопросы. Собственно вопрос второй вот в чем: HP UFT позиционирует себя как инструмент для тестировщика с минимальными знаниями программирования. Поэтому я думал найти некий инструмент StartApp, который бы позволил задать путь запускаемого приложения, а этот инструмент уже сформирует код :)Иван, не очень понял оба вопроса. Но постараюсь ответить так, как понял.
Вопрос №2: Есть ли встроенные процедуры запуска приложения? Или необходимо в данном случае пользоваться внутренним языком?
Вопрос №3: Есть интерфейс связи тестового кейса с внешними источниками, например Excel или CSV?
2. Для запуска приложений тем же способом, что и из командой строки можно использовать SystemUtils.Run
3. В QTP есть DataTable для тестовых данных. Интерфейс взаимодействия с ним смотрите в хелпе - объект DataTable. В файловой системе он сохраняется как xls-файл, который лежит внутри папки с тестом. Его можно редактировать отдельно от теста.
С CSV-файлами можно работать через FileSystemObject (стандартный интерфейс работы с файлами в VBScript)
Что есть и что хотите получить?
Вопрос третий: есть одинаковый сценарий, на который необходимо подать разные входные данные и соответственно получить разные выходные данные. Т.е. подаем на вход таблицу, и в соответствии с ней выполняется один и тот же сценарий, по количеству записей таблицы.
#9
Отправлено 06 ноября 2013 - 14:16
Это не более, чем маркетинговый ход. Чтобы писать хорошие автотесты даже при использовании QTP придется научиться программировать, хотя бы на минимальном уровне. И очень советую посетить какие-нибудь курсы по организации фреймворка автотестирования.Собственно вопрос второй вот в чем: HP UFT позиционирует себя как инструмент для тестировщика с минимальными знаниями программирования.
Можно задать путь к приложению в диалоге Automation -> Record and Run Settings, но код запуска в тесте в этом случае вы не увидите, просто каждый раз при запуске теста QTP будет запускать указанное приложение.Поэтому я думал найти некий инструмент StartApp, который бы позволил задать путь запускаемого приложения, а этот инструмент уже сформирует код :)
Это как раз то, для чего используется DataTable.Вопрос третий: есть одинаковый сценарий, на который необходимо подать разные входные данные и соответственно получить разные выходные данные. Т.е. подаем на вход таблицу, и в соответствии с ней выполняется один и тот же сценарий, по количеству записей таблицы.
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#10
Отправлено 06 ноября 2013 - 17:00
#11
Отправлено 06 ноября 2013 - 18:09
1. Работать с одним и тем же Action в разных GUITests
2. Создать подобие класса C#, чтобы реализовать фреймворк. Например есть компонент, и для разных тестов с ним необходимо осуществлять различные действия. Прописываем функции в одном месте и затем вызываем эти функции с разными параметрами.
#12
Отправлено 07 ноября 2013 - 09:44
1. Можно. Это называется external Actions. Неудобство в их использовании состоитт в том, что на редактирование одновременно в QTP может быть открыт только один сценарий и один тест. А редактировать сценарии можно только в том тесте, где они созданы, а в том тесте, откуда вызываются, — нельзя.Павел, а можно ли в HP UFT использовать нечто подобное:
1. Работать с одним и тем же Action в разных GUITests
2. Создать подобие класса C#, чтобы реализовать фреймворк. Например есть компонент, и для разных тестов с ним необходимо осуществлять различные действия. Прописываем функции в одном месте и затем вызываем эти функции с разными параметрами.
2. VBScript — это объектный язык, так что свой класс с набором методов вы написать можете и использовать его в любых тестах тоже. Но увы, наследования в VBs нет. Но можно писать библиотеки функций, которые подключаются к тестам. Для разработки полноценного фреймворка лучше использовать стороннюю IDE — TestDesign Studio, она, правда, стоит отдельных денег, но, поверьте, она себя полностью окупает. Там работает автокомплит для всех ваших классов и функций и есть полноценная проверка синтаксиса и автогенерация документации к вашим функциям.
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#13
Отправлено 07 ноября 2013 - 14:21
Павел, спасибо. Будем смотреть TestDesign Studio, и посмотрим его аналоги. А почему UFT не хочет/не может создать инструмент для полноценного создания фреймворка. Тот же Ranorex благодаря использованию C# в этом аспекте далеко впереди. Так же вызывает недоумение выбора языка VBScript.1. Можно. Это называется external Actions. Неудобство в их использовании состоитт в том, что на редактирование одновременно в QTP может быть открыт только один сценарий и один тест. А редактировать сценарии можно только в том тесте, где они созданы, а в том тесте, откуда вызываются, — нельзя.
Павел, а можно ли в HP UFT использовать нечто подобное:
1. Работать с одним и тем же Action в разных GUITests
2. Создать подобие класса C#, чтобы реализовать фреймворк. Например есть компонент, и для разных тестов с ним необходимо осуществлять различные действия. Прописываем функции в одном месте и затем вызываем эти функции с разными параметрами.
2. VBScript — это объектный язык, так что свой класс с набором методов вы написать можете и использовать его в любых тестах тоже. Но увы, наследования в VBs нет. Но можно писать библиотеки функций, которые подключаются к тестам. Для разработки полноценного фреймворка лучше использовать стороннюю IDE — TestDesign Studio, она, правда, стоит отдельных денег, но, поверьте, она себя полностью окупает. Там работает автокомплит для всех ваших классов и функций и есть полноценная проверка синтаксиса и автогенерация документации к вашим функциям.
#14
Отправлено 07 ноября 2013 - 16:43
Думаю, что одна из причин, это потому что при такой стоимости продукта решение о его внедрении принимают не автоматизаторы, а менеджеры, стоящие на несколько уровней выше. Собственно отсюда и улучшалки, которые хорошо выглядят в глазах менеджеров, а не реально нужные вещи, вроде нормальной IDE.А почему UFT не хочет/не может создать инструмент для полноценного создания фреймворка. Тот же Ranorex благодаря использованию C# в этом аспекте далеко впереди. Так же вызывает недоумение выбора языка VBScript.
Плюс история развития продукта такова: исходно была небольшая контора Mercury Interactive, которая и создала QTP, QC, LoadRunner и активно их развивала. Они были реально самыми крутыми средствами автоматизации тестирования на тот момент. А потом эту контору купила HP, и развитие инструментов практически прекратилось.
Когда мы показывали свои библиотеки для автотестирования на основе QTP людям, которые тестируют сам QTP, их реакция была "Никогда не думали, что его используют так".
У меня сложилось впечатление, что развитием продукта занимаются люди, далекие от реальных пробем автоматизации тестирования, и приоритеты там скорее на более тесную интеграцию инструментов между собой и на улучшение возможности создания автоскриптов без программирования (что, увы, красиво на слайдах, но не работает в реальности)
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#15
Отправлено 07 ноября 2013 - 20:03
Думаю, что одна из причин, это потому что при такой стоимости продукта решение о его внедрении принимают не автоматизаторы, а менеджеры, стоящие на несколько уровней выше. Собственно отсюда и улучшалки, которые хорошо выглядят в глазах менеджеров, а не реально нужные вещи, вроде нормальной IDE.
А почему UFT не хочет/не может создать инструмент для полноценного создания фреймворка. Тот же Ranorex благодаря использованию C# в этом аспекте далеко впереди. Так же вызывает недоумение выбора языка VBScript.
Плюс история развития продукта такова: исходно была небольшая контора Mercury Interactive, которая и создала QTP, QC, LoadRunner и активно их развивала. Они были реально самыми крутыми средствами автоматизации тестирования на тот момент. А потом эту контору купила HP, и развитие инструментов практически прекратилось.
Когда мы показывали свои библиотеки для автотестирования на основе QTP людям, которые тестируют сам QTP, их реакция была "Никогда не думали, что его используют так".
У меня сложилось впечатление, что развитием продукта занимаются люди, далекие от реальных пробем автоматизации тестирования, и приоритеты там скорее на более тесную интеграцию инструментов между собой и на улучшение возможности создания автоскриптов без программирования (что, увы, красиво на слайдах, но не работает в реальности)
Павел, спасибо за столь интересное мнение. Именно поэтому я выбрал Ranorex для внутреннего тестирования. Но рынок диктует свои правила, и мы сейчас рассматривает возможность автоматизации на HP.
У меня еще один практический вопрос.
Есть панель (скриншот 2.1 и 2.2 - может выглядеть по разному и как список и как таблица). Вот так эта панель выглядит в Ranorex(скриншот 2.3 и 2.4). Т.е. видим что есть потомки, в одном случае это таблица в другом список. А вот так выглядит в HP(скриншот 2.5). Как я ни старался найти потомком или зафиксировать отдельные иконки - не получается. Все время список без потомков. Где моя ошибка?
И еще вопрос: Вы советовали использовать TestDesign Studio для создания фреймворка. А есть ли возможность использовать VisualStudio для тех целей? Студия мне намного ближе, а так же знания в C# присутствуют
Прикрепленные файлы
#16
Отправлено 11 ноября 2013 - 06:09
Скорее всего так происходит потому, что QTP маппирует объекты приложения на свою объектную модель классов для каждого интерфейса. И в этом модели у таблиц и списков нет дочерних элементов. Тут можно попробовать два пути - получить перечень элементов для списка через стандартные GetItems или что-то подобное (нет QTP под рукой). Или же попробовать получить доступ к исходным элементам через метод .object, который возвращает вам ссылку на сам элемент пользовательского интерфейса, который маппирован на QTP-шный тестовый объект. Это точно работает для веба,может такое возможно и для .Net.У меня еще один практический вопрос.
Есть панель (скриншот 2.1 и 2.2 - может выглядеть по разному и как список и как таблица). Вот так эта панель выглядит в Ranorex(скриншот 2.3 и 2.4). Т.е. видим что есть потомки, в одном случае это таблица в другом список. А вот так выглядит в HP(скриншот 2.5). Как я ни старался найти потомком или зафиксировать отдельные иконки - не получается. Все время список без потомков. Где моя ошибка?
Писать на C# для QTP, увы, не получится, потому что API QTP заточено под модель тестов и сценариев. У него отличное API для массового редактирования тестов, сценариев, библиотек, управления ими. Но, увы, использовать QTP просто как драйвер пользовательского интерфейса, написав фреймворк на любом удобном языке, не получится - для этого он не приспособлен. Возможностей же VS по работе с VBs я не знаю. Но Test Design Studio - удобная IDE, не думаю, что возникнут проблемы в ее осовоении.И еще вопрос: Вы советовали использовать TestDesign Studio для создания фреймворка. А есть ли возможность использовать VisualStudio для тех целей? Студия мне намного ближе, а так же знания в C# присутствуют
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#17
Отправлено 26 ноября 2013 - 16:00
Прикрепленные файлы
#18
Отправлено 26 ноября 2013 - 20:35
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных