|
Тестирование .Net приложения с помощью Vuser или DLL для Mercury Load Tests
|
|||
---|---|---|---|
#18+
Доброго времени суток! Господа, кто-нибудь сталкивался со следующей проблемой ???????????????????????????????? Есть приложение (может работать, как сервис или как консольное), написанное на C# & .NET Framework 2.0., и использующее .NET Remoting. Установлен Mercury LoadRunner 8.1 FP4, Visual Studio .NET 2005, MS Visual Studio .NET 2005 AddIn LoadRunner. Функциональное тестирование осуществляется из под 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: Ошибка выполнения команды ConfigSchedulerAdd. Код ошибки: 1 (ErrorNotDefined) описание ошибки: Поля ошибки не заполнены 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", а запускать exe, в данном случае статус меняется и все работает... Команда ConfigSchedulerAdd выполнена успешно. Status=waiting;IsSync=True Status=successComplited;IsSync=True Result = True Возможно, что проблема кроется в mdrv.exe, который некорректно работает с .NET Remoting ??? Хотя в Mercury LoadRunner 8.1 FP4 анонсирована поддержка .NET Framework 2.0 & .NET Remoting. Основной смысл в том, чтобы использовать DLL впоследствии, в Mercury LoadRunner Run Load Tests, т.е. для нагрузочного тестирования!!! У кого есть решения или советы по данному вопросу ??? Заранее благодарен! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2007, 11:54 |
|
Тестирование .Net приложения с помощью Vuser или DLL для Mercury Load Tests
|
|||
---|---|---|---|
#18+
Тема закрыта! Если, интересно, приведу решение проблемы: 1. В папку \Program Files\Mercury LoadRunner\bin\ следует положить dll библиотеки, с которыми работает тестовый робот. 2. В коде робота, написанном на C#.NET, следует добавить некую паузу, чтобы команда успевала сменить свой статус, в моем случае, с Status = wating, на Status = successComplited. Примерный вид команды: Thread.Sleep(2000); ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2007, 16:50 |
|
|
start [/forum/topic.php?fid=36&msg=34409381&tid=1555062]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
182ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 244ms |
total: | 522ms |
0 / 0 |