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

Фотография

[QTP 10]: Объединение нескольких тестов


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

#1 gala_fox

gala_fox

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

  • Members
  • Pip
  • 6 сообщений

Отправлено 10 сентября 2009 - 15:58

Добрый день!

Подскажите, пожалуйста, есть ли в QTP возможность объединить несколько тестов в один?
И, собственно, как это корректо сделать, если вообще можно.

Заранее спасибо )
  • 0

#2 gralex

gralex

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

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

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

День добрый,

Есть несколько вариантов реализации вашей задачи:
1) использование reusable actions - в одном скрипте actions, которые вы желаете использовать в другом скрипте, помечаете как reusable, в основном скрипте используете их вызов (вызов reusable action - это по сути "точка входа" в другой скрипт, после этого вы получаете доступ ко _всем_ action "подчиненного" скрипта включительно с не-reusable)
2) в некоторых случаях может прокатить просто последовательный программный вызов нескольких скриптов (например из QC или через предоставляемый COM-интерфейс)
3) возможно, имеет смысл оформить повторяющийся или общий код в виде внешней библиотеки и подключать ее к разным скриптам
4) ну и "индусский народный способ написания кода" - Copy+Paste :)

Если же у вас просто стоит задача единократно смерджить несколько скриптов в один (типа досталось наследство и надо его привести в порядок), то проще наверное будет покопировать action из всех скриптов в основной (пометить нужные actions как reusable и в основном скрипте сделать Insert > Call to Copy of Action... или сделать это все вручную).
  • 0

#3 ch_ip

ch_ip

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

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


Отправлено 10 сентября 2009 - 21:48

Добрый день!

Подскажите, пожалуйста, есть ли в QTP возможность объединить несколько тестов в один?
И, собственно, как это корректо сделать, если вообще можно.

Заранее спасибо )

У меня несколько вопросов:
1. Зачем Вам это нужно? (это самый важный вопрос)
2. Насколько сложные тесты, которые необходимо объединить?
3. Исопльзуются ли reusable action'ы из других тестов?
4. Используют ли другие тесты какие-либо action'ы из тех тестов, которые предполагается объединить?
5. Используете ли Вы Объектный Репозиторий. Если да, то какой или какие: локальные или глобальные(aka shared)?
6. Есть ли объединяемые тесты какие-либо библиотеки. Если да, то разные библиотеки используются или одинаковые, важен ли их порядок загрузки?
7. Используете ли Вы Data Table
8. Используете ли Вы параметризацию через Environment-переменные?
9. Версия QTP, которую Вы используете?

Специальной опции "Объединить тесты" в QTP нет. И в общем случае процесс слияния тестов весьма нетривиален. gralex описал несколько действенных вариантов, однако применимость их сильно зависит от того, что за тесты Вы хотите объединить, отсюда у меня и возник перечень вопросов, представленный выше.
Простой copy-paste в подавляющем большинстве случаев приведет к непредсказуемым результатм, ибо подводных камней (aka взаимосвязей) достаточно много.
  • 0

#4 gala_fox

gala_fox

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

  • Members
  • Pip
  • 6 сообщений

Отправлено 11 сентября 2009 - 08:35

Добрый день.

Если подробней, то я в QTP новичок, сначла позаписывала небольшие тесты т. к. в тесте много промежуточных этапов, где надо было то файлы куда-то закинуть, то запустить приложение для подготовки базы (т. е. все это делала вручную между отдельными тестами). А теперь дописала функции на эти этапы и хочется теперь запустить и забыть пока не все не прогонит. Потому хочется объединить.
Возможно есть способ запуска тестов в очередь? )
Тесты достаточны просты reusable actions из других тестов и data table не используют. Репозиторий используют локальный.

Добавила тесты с помощью Insert> Call to Copy of Action.. Вроде все отлично )

Спасибо за помощь
  • 0

#5 gralex

gralex

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

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

Отправлено 11 сентября 2009 - 09:30

Возможно есть способ запуска тестов в очередь? )


Насколько я понял, сейчас вашу задачу можно сформулировать как "последовательно запустить несколько скриптов".
Одним из вариантом является использование стандартной утилиты от QTP "Test Batch Runner" - она проста как двери, но запустить по очереди несколько скриптов позволяет.
Думаю, что в вашем случае этого будет достаточно
  • 0

#6 ch_ip

ch_ip

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

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


Отправлено 11 сентября 2009 - 09:35

Добрый день.

Если подробней, то я в QTP новичок, сначла позаписывала небольшие тесты т. к. в тесте много промежуточных этапов, где надо было то файлы куда-то закинуть, то запустить приложение для подготовки базы (т. е. все это делала вручную между отдельными тестами). А теперь дописала функции на эти этапы и хочется теперь запустить и забыть пока не все не прогонит. Потому хочется объединить.
Возможно есть способ запуска тестов в очередь? )
Тесты достаточны просты reusable actions из других тестов и data table не используют. Репозиторий используют локальный.

Добавила тесты с помощью Insert> Call to Copy of Action.. Вроде все отлично )

Спасибо за помощь

Если Вы написали какие-то общие функции по работе с файлами, БД и т.п., то лучше их вынести в библиотеки функций, и эти библиотеки уже привязывать к тестам.
Reusable action - возможное решение, но оно неудобно тем, что reusable action'ы из других тестов нельзя открыть на редактирование в QTP, поскольку там может быть открыт только один тест одновременно. А вот библиотек функций можно открыть много. Плюс функции, опеределенные в библиотеках доступны на вкалдке "ресуры", начиная с версии 9.5
  • 0

#7 gala_fox

gala_fox

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

  • Members
  • Pip
  • 6 сообщений

Отправлено 11 сентября 2009 - 10:05

Запуск Test Batch Runner закончился тем что в QTP все менюшки теперь пустые... В общем это уже второй раз, прошлый раз помогла только чистка реестра. Похоже на баг QTP v.10.

Так что остановлюсь пока на первом варианте, он меня вполне устроил )
  • 0

#8 ch_ip

ch_ip

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

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


Отправлено 11 сентября 2009 - 15:58

Запуск Test Batch Runner закончился тем что в QTP все менюшки теперь пустые... В общем это уже второй раз, прошлый раз помогла только чистка реестра. Похоже на баг QTP v.10.

Так что остановлюсь пока на первом варианте, он меня вполне устроил )

Ни разу не слышал о такой проблеме. И Гугл ничего внятного на эту тему не говорит. Хотя, подозреваю я, что это происходит от малой популярности данной тулзы, ибо она практически ничего не умеет из того, что должна делать утилита для запуска нескольких тестов.
Мы используем самописный тул, который гораздо шире по возможностям, нежели Test Batch Runner.
Многие крупные команды также следуют этой практике.
  • 0

#9 Nafig

Nafig

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

  • Members
  • Pip
  • 31 сообщений
  • Город:Киев

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

Запуск Test Batch Runner закончился тем что в QTP все менюшки теперь пустые... В общем это уже второй раз, прошлый раз помогла только чистка реестра. Похоже на баг QTP v.10.


Извиняюсь за оффтоп, я столкнулся с этой же проблемой, даже создал отдельную тему, пока никто не ответил. Так вот, можно немного поподробнее про чистку реестра, лучше в спецтему

По сабжу, если я правильно понял вопрос, лично я пользуюсь для этого Action/Insert Call to Existing. Создаю отдельный скрипт и в него добавляю все что нужно в необходимом порядке
  • 0


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

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