QTP LoadAndRunAction - время транзакции от вызываемой части результата выполнения вызывающей стороны? - PullRequest
0 голосов
/ 17 декабря 2010

Если я вызываю действие X из другого теста A, используя LoadAndRunAction, правильно ли сообщается время транзакций, которые собраны в вызываемом действии?

т.е. если я вставлю такой сценарий вызывающего абонента A в сценарий LoadRunner, будут ли отчеты о результатах LoadRunner включать как время транзакций, измеренное в тесте A, так и действие X?

Честно говоря, я просто спрашиваю, потому что мне лень проверять это специальное предложение.

Справочная информация: У нас есть несколько сценариев LR, которые используют сценарии QTP для имитации действий пользователя в графическом интерфейсе. Эти QTP-скрипты довольно большие и их снова и снова устанавливают на каждый генератор нагрузки. Идея состоит в том, чтобы развернуть большой QTP-тест один раз вручную, и написать компактный QTP-тест, который вызывает большой тест, и вставить этот тест для сравнения в сценарий LR.

1 Ответ

1 голос
/ 04 января 2011

Хорошо, теперь, когда я сам узнал ответы, справедливо поделиться ими:

LoadAndRunAction неправильно сообщает время транзакции, вызывающая сторона не видит транзакции, измеренные в вызываемой стороне.

Однако вы можете использовать обычный вызов действия для вызова целевого действия. Однако это не работает, за исключением большинства тривиальных вызовов, поскольку контроллер LoadRunner каким-то образом запутывает зависимости между вызывающим и вызываемым, пытаясь развернуть материал вызывающего абонента в несуществующем генераторе загрузки.

Для нас было решено создать тупой сценарий вызывающего QTP A, который вызывает второй тест QTP B, который ничего не делает, но вызывает «настоящий» тест QTP C, все с использованием «Вставить вызов во внешнее действие». То есть:

  • Разработка A и B с использованием машины QTP, которая уже содержит C
  • Скопируйте A и B в контроллер
  • Вставьте А в сценарий
  • Предварительное развертывание (то есть просто копирование) B и C на все генераторы нагрузки

Результат: LoadRunner успешно развертывает A на генераторах нагрузки, выполняет его. A выполняет вызов к тесту B, который, в свою очередь, вызывает C. C выполняет транзакции, которые передаются через B и A в результаты выполнения сценариев. Миссия выполнена. (Естественно, B и C должны храниться в одном и том же пути на всех машинах, а ссылки на действия в A и B должны основываться на абсолютных, а не относительных путях).

Конечно, нужно соблюдать осторожность при изменении B или C. Каждую модификацию необходимо распространить на все остальные генераторы нагрузки вручную. A можно обновить обычным способом (поскольку он всегда будет развернут).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...