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

Фотография

LoadPunner: как остановить VUser -а?


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

#1 natella

natella

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

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

Отправлено 24 марта 2005 - 09:48

Имеется java сценарий для vuser -а. Соединение с сервером происходит по http. Юзер логинится на сервере, получает номер сессии и затем начинает работать в этой сессии. При некотором количестве юзеров на сервере происходит сбой и некоторые сессии теряются. Однако юзеры продолжают слать данные и количество ошибок в итоге получается очень большим. Можно ли сделать так, чтобы при некоторм условии VUser останавливал свою работу?
Или хорошо бы было сделать так, чтобы при потере сессии юзер перелогинивался заново. То есть можно ли внутри метода action() вызвать init(), если init по идее выполняется для каждого юзера только один раз. Будет ли после этого сценарий работать корректно?
  • 0

#2 Dmitry_NJ

Dmitry_NJ

    Консультант

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

Отправлено 24 марта 2005 - 16:58

Имеется java сценарий для vuser -а. Соединение с сервером происходит по http.

Не совсем понятно что вы имеете в виду под "java сценарий", ибо такого просто не существует в LoadRunner'е. Сценарии в LR бывают только 2-х типов - manual или goal-oriented. Если клиент с сервером общается по HTTP, то это будут обычные Web Vusers. Oпять же непонятно при чем тут java :blink:

Можно ли сделать так, чтобы при некоторм условии VUser останавливал свою работу?

Не только можно, но и нужно. После каждого запроса рекомендуется использовать проверку на то, что с сервера получены ожидаемые данные. Для этого можно использовать функцию web_reg_find(). С такими проверками вы легко обнаруживаете проблему с потерянными сессиями, так как в этом случае сервер вместо ожидаемых страниц будет слать какое-нибудь сообщение об ошибке.

Или хорошо бы было сделать так, чтобы при потере сессии юзер перелогинивался заново.

Как запрограммируете свой error handling, так и будет работать. Хотите перелогиниться - на здоровье.

То есть можно ли внутри метода action() вызвать init(), если init по идее выполняется для каждого юзера только один раз.

Нет, такие фокусы не проходят. Но никто не запрещает вам в Action() определить свою функцию, которая будет делать тоже, что и init(). И сделать эту функцию частью вашего error handling.
  • 0
Дмитрий Шевченко

HP Software

#3 Tamashakin

Tamashakin

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Tamashakin Denis

Отправлено 25 марта 2005 - 09:10

Если я правильно вас(natella) понял , то вы используете один из Add-in(BJava or VS.Net) для LoadRunner. Вам надо разговорить с программистом о том как правильно решить вашу проблему на Java.

Хотя я не могу понять зачем вам останавливать тест ? :blink:
  • 0

#4 natella

natella

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

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

Отправлено 25 марта 2005 - 14:07

Нет, я использую обычного Java Vuser -а, который посылает на сервер http -запросы java методами и получает ответы. И я хочу, чтобы юзер, который потерял сессию и получил ответ об ошибке не посылал больше запросы на эту сессию, а вообще больше ничего не посылыл или залогинивался заново.
Так вот я интересуюсь, можно ли в java Vuser -е внутри метода action() вызвать init()
  • 0

#5 Dmitry_NJ

Dmitry_NJ

    Консультант

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

Отправлено 25 марта 2005 - 16:15

Так вот я интересуюсь, можно ли в java Vuser -е внутри метода action() вызвать init()

Я уже ответил, но могу еще раз повторить. Так делать нельзя. Напишите в Action() свой код, который будет делать все, что вам нужно (например, то же, что делает код в init()). И вызывайте его в случае когда начинаются проблемы с потерянными сессиями.
  • 0
Дмитрий Шевченко

HP Software

#6 Dmitry_NJ

Dmitry_NJ

    Консультант

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

Отправлено 25 марта 2005 - 16:20

Хотя  я  не могу понять  зачем вам останавливать  тест ?  :blink:

Затем, чтобы избежать потока ошибок, вызываемого потерянными сессиями, и корректно обработать данную исключительную ситуацию.
  • 0
Дмитрий Шевченко

HP Software


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

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