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

Фотография

Тестирование .Net приложения с помощью Vuser


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

#1 Fish2007

Fish2007

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

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Alex Fish

Отправлено 12 марта 2007 - 10:31

Доброго времени суток!

Господа, кто-нибудь сталкивался со следующей проблемой ?

Есть приложение, написанное на C# & .NET Framework 2.0., и использующее
.NET Remoting.
Установлен Mercury LoadRunner 8.1 FP4, Visual Studio .NET 2005,
Visual Studio 2005 AddIn Vuser.
Функциональное тестирование осуществляется из под VS2005 .NET,
путем отправки приложению команд из Vuser DLL.
Таким образом, тест-робот DLL, запускается из командной строки, посредством
"C:\Program Files\Mercury LoadRunner\bin\mdrv.exe" -usr "C:\prj\cslast\cslast\cslast.usr" -product_name vugen -msg_suffix_enable 0 -vugen_animate_delay 0 -drv_log_file "C:\prj\cslast\cslast\mdrv.log"

Что интересно, при запуске DLL, не происходит смена статуса успешно выполненной команды, например:
Virtual User Script started
Starting action vuser_init.
Ending action vuser_init.
Running Vuser...
Starting iteration 1.
Starting action Actions.
Notify: Transaction "ConfigSchedulerAdd" started.
Status=waiting;IsSync=True
Status=waiting;IsSync=True
Result = False
Error: Ошибка выполнения команды ConfigSchedulerAddl. Код ошибки: 1 (ErorNotDefined) описание ошибки: Поля ошибки не заполнены
Notify: Transaction "ConfigSchedulerAdd" ended with "Fail" status (Duration: 0,2556).
Ending action Actions.
Ending iteration 1.
Ending Vuser...
Starting action vuser_end.
Ending action vuser_end.
Vuser Terminated.
LoadRunner Vuser driver terminated (rc=0x00000000).

Таким образом, любая правильно выполненная команда возвращает ошибочный результат.

А вот если вместо DLL создавать консольное приложение, т.е. exe-файл,
и при запуске, естессно, не использовать "C:\Program Files\Mercury LoadRunner\bin\mdrv.exe", в данном случае статус меняется и все работает...
Команда ConfigSchedulerAdd выполнена успешно.
Status=waiting;IsSync=True
Status=successComplited;IsSync=True
Result = True

Я так понимаю, что проблема кроется в mdrv.exe, который некорректно работает
с .NET Remoting???
Просто смысл в том, чтобы использовать DLL впоследствии,
в Mercury LoadRunner Run Load Tests. Т.е. для нагрузочного тестирования!!!
  • 0

#2 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 12 марта 2007 - 17:23

Таким образом, тест-робот DLL, запускается из командной строки, посредством
"C:\Program Files\Mercury LoadRunner\bin\mdrv.exe" -usr "C:\prj\cslast\cslast\cslast.usr" -product_name vugen  -msg_suffix_enable 0  -vugen_animate_delay 0  -drv_log_file "C:\prj\cslast\cslast\mdrv.log"

Что-то я не заметил среди параметров -vugen_win. Не могу утверждать, что именно в этом причина вашей проблемы, но я бы попробовал добавить этот параметр (его значение это некая цифирь, уникальная для конкретного инстанса VS .NET). Хотя может для VS .NET 2005 это уже и не требуется, но раньше вроде нужно было.
  • 0
Дмитрий Шевченко

HP Software

#3 Fish2007

Fish2007

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

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Alex Fish

Отправлено 13 марта 2007 - 08:48

Доброго времени суток, Дмитрий!

Вы пишите:
"Что-то я не заметил среди параметров -vugen_win. Не могу утверждать, что именно в этом причина вашей проблемы, но я бы попробовал добавить этот параметр (его значение это некая цифирь, уникальная для конкретного инстанса VS .NET). Хотя может для VS .NET 2005 это уже и не требуется, но раньше вроде нужно было."

Дело в том, что такую строку выдает запуск Vuser -> Run Vuser, когда запускаешь тестовую DLL из под VS .NET 2005, затем я просто копирую это в командную строку. Думаю, встроенный механизм Vuser правильно формирует
параметры командной строки. ;)

Я добавил параметр -vugen_win 0, как Вы предложили, и даже добавлял
-vugen_win 2, предполагая, что .NET Framework v.2.0... К сожалению, результат
тот же, статус успешно выполненной команды не изменился, вот лог запуска:

Virtual User Script started
Starting action vuser_init.
Ending action vuser_init.
Running Vuser...
Starting iteration 1.
Starting action Actions.
Notify: Transaction "ConfigSchedulerAdd" started.
Status=waiting;IsSync=True
Status=waiting;IsSync=True
Result = False
Error: Ошибка выполнения команды ConfigSchedulerAdd. Код ошибки: 1 (ErorNotDefined) описание ошибки: Поля ошибки не заполнены
Notify: Transaction "ConfigSchedulerAdd" ended with "Fail" status (Duration: 0,1447).
Ending action Actions.
Ending iteration 1.
Ending Vuser...
Starting action vuser_end.
Ending action vuser_end.
Vuser Terminated.

В помощи по Vuser, указано лишь сочетание:
<vugen path>/bin/mdrv.exe -usr <script_name> -vugen_win 0
без объяснения сути параметра, или я не нашел оного...

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

Видимо, дело все же в связке mdrv & DLL, потому как консольное приложение
работает, но к сожалению, оно совершенно не предназначено для нагрузочного тестирования с использованием Mercury LoadRunner.
  • 0

#4 Fish2007

Fish2007

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

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Alex Fish

Отправлено 13 марта 2007 - 11:51

2 Дмитрий!

Вопрос следующий, в примерах, выложенных на http://support.mercury.com/,
тем не менее, нашелся следующий параметр: -vugen_win 8326038

Не могли бы Вы подсказать, что это за параметр и число, ну, или ткнуть носом, где можно об этом прочесть...

Заранее благодарен!
  • 0

#5 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 13 марта 2007 - 18:36

Это число представляет собой некий уникальный номер конкретного инстанса VS .NET, который вы используете. Вот только где взять это число я, честно говоря, не знаю. Тут самое время саппорт потрясти. Вообще потрясти по данной проблеме, не только применительно к -vugen_win.
  • 0
Дмитрий Шевченко

HP Software

#6 Fish2007

Fish2007

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

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Alex Fish

Отправлено 15 марта 2007 - 09:01

2 Дмитрий

Согласен с Вами, вопросов к саппорту много накопилось, да, только
они не поддерживают триальные версии, насколько мне известно...

Смысл в том, чтобы поставив триал, убедиться в его мощности или в
обратном, в первом случае для приобретения продукта.

Собственно, я склонен думать, что версию 8.1 FP4 покупать не стоит,
потому как заявленные фичи:

.NET Framework 2.0 & .NET Remoting поддерживаются криво, ежели
не сказать большего. ;)
  • 0

#7 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 15 марта 2007 - 16:39

Поддержку на trial получить можно, но только через сейлсов. Я так понимаю, что вы скачали самостоятельно и пробуете разобраться. Чего-то не получается. Это нормально. Особенно для нетривиальных типов виртуальных юзеров типа .NET.

Тут есть два подхода.

1. Можно попробовать поковыряться самому. Не получится - бросили и забыли.

2. Можно стараться все-таки добиться того, чтобы все заработало, если есть интерес. Для этого надо контактировать с сейлсом. В зависимости от ситуации он может обеспечить вам или связь с саппортом или даже на несколько дней прислать вам одного из pre-sales консультантов, чтобы разобраться в проблеме.
  • 0
Дмитрий Шевченко

HP Software

#8 Fish2007

Fish2007

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

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Alex Fish

Отправлено 16 марта 2007 - 09:13

2 Дмитрий!

Буду разбираться дальше с данной проблемой, СПАСибо!
  • 0

#9 Fish2007

Fish2007

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

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Alex Fish

Отправлено 22 марта 2007 - 13:55

Доброго времени суток!

СПАСибо за участие!
Тема закрыта!

Если, интересно, приведу решение проблемы:

1. В папку \Program Files\Mercury LoadRunner\bin\ следует положить dll библиотеки,
с которыми работает тестовый робот.

2. В коде робота, написанном на C#.NET, следует добавить некую паузу,
чтобы команда успевала сменить свой статус, в моем случае, с Status = wating,
на Status = successComplited.

Примерный вид команды: Thread.Sleep(2000);

2 Дмитрий: Вы случайно не знаете сколько виртуальных юзеров поддерживает
триальная версия Mercury LoadRunner 8.1 FP4 ?
Вроде бы, я встречал где-то цифру 10... Хотя, возможно, ошибаюсь...
  • 0

#10 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 22 марта 2007 - 19:57

2 Дмитрий: Вы случайно не знаете сколько виртуальных юзеров поддерживает
триальная версия Mercury LoadRunner 8.1 FP4 ?
Вроде бы, я встречал где-то цифру 10... Хотя, возможно, ошибаюсь...

Да вроде 10, если ничего не изменили. Раньше 25 было.
  • 0
Дмитрий Шевченко

HP Software

#11 Fish2007

Fish2007

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

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Alex Fish

Отправлено 23 марта 2007 - 11:02

Доброго времени суток, Дмитрий!

СПАСибо... Вроде бы, действительно 10...

Просто, при 10 на триале получаю вот такое сообщение:

You do not have a license for this Vuser type.
Please contact Mercury Interactive to renew your license.

Т.е. отсутствует лицензия на данный тип Vuser, сообщение выдается,
когда C# DLL загружаю в LoadRunner для нагрузочного тестирования.

Что нибудь можете сказать про типы Vuser, может быть лицензирутся типы,
например Vuser .NET ???

Заранее благодарен!
  • 0

#12 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 23 марта 2007 - 20:28

Что нибудь можете сказать про типы Vuser, может быть лицензирутся типы,
например Vuser .NET ???

Лицензируется много чего. В частности лицензируются и типы VUsers, которые вы можете запускать в контроллере (в VuGen вы можете работать абсолютно с любыми типами VU, т.к. VuGen сам по себе вообще никак не лицензируется).

Я не знаю какие именно типы VU разрешены для использования в trial версии. Ну Web VU точно разрешены, а насчет других не уверен. Судя по тому сообщению, которое вы получаете, .NET VU абсолютно точно не разрешены. Выход тут только один - связаться с сэйлсом и получить через него лицензию на .NET VU.

В добавок к количеству и типам VU лицензируются также и мониторы, которые вы можете использовать в сценарии. Если работаете с .NET, то вместе с LR может использоваться и .NET Diagnostics, который тоже требует отдельной лицензии. Так что если будете связываться с сэйлсом сразу говорите какие лицензии вы хотите получить для evaluation.
  • 0
Дмитрий Шевченко

HP Software

#13 Fish2007

Fish2007

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

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Alex Fish

Отправлено 26 марта 2007 - 11:57

Доброго времени суток, Дмитрий!

СПАСибо за информацию, буду пробовать выходить на сейлсов...
  • 0


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

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