Разделение пользовательских сессий в JMeter с запущенным образцом Java Request (с SyncProxy) в приложении GWT - PullRequest
1 голос
/ 13 апреля 2011

Я использую JMeter для загрузки теста веб-приложения, написанного на GWT.

Я нашел SyncProxy позволяет мне писать Java-код для выполнения удаленных методов на сервере приложений, как если бы я былклиент (браузер).

Я завернул свой Java-код в класс, который реализует JavaSamplerClient из JMeter.Это означает, что я могу запускать свой собственный Java-код внутри объекта JMeter, и он выполняется в соответствии с тестовой логикой.

Теперь проблема.Поскольку я не использую HTTPSampler от JMeter, мои пользователи ведут себя не так, как я хочу, а именно, чтобы они не зависели друг от друга.У меня никогда не было этой проблемы при использовании HTTPSampler + HTTP Authentication Manager + HTTP Cookie Manager.

Я решил основную часть проверки подлинности, изменив SyncProxy для отправки данных проверки подлинности в виде дополнительного заголовка HTTP с каждым запросом.* И вопрос: как наилучшим образом реализовать инструменты, которые есть в моем распоряжении, чтобы мои пользователи были независимыми и время от времени переставали воровать сессии друг друга?

Ответы [ 2 ]

1 голос
/ 05 мая 2011

Я делаю что-то очень похожее.

Мой подход заключается в том, чтобы иметь отдельный java-сэмплер, действующий как механизм создания сеанса и входа в систему.

syncproxy имеет опцию мультисессии. Экземпляр сеанса хранится в классе статического списка с информацией о сеансе, выбираемой токеном. Ссылка на токен создается из переменной потока jmeter.

Когда вы затем используете свой основной сэмплер syncproxy java, повторно используйте переменную потока в вашем списке параметров и выберите правильный сеанс из списка для правильного потока jmeter.

NB. Если вы используете несколько сеансов и использовали исправление AutoSyncProxy, вам придется изменить метод AutoSyncProxy.newProxyInstance, чтобы разрешить определение сеанса.

0 голосов
/ 22 апреля 2011

Возможно, вы рассмотрите возможность небольшой реструктуризации.

Используйте сэмплеры JMETER для входа в систему и ведения своего сеанса, а также передачи идентификатора пользователя и информации о сеансе (cookie или sessionID) в свой класс Java.

Используя сэмплер beanshell, вы можете выполнить код Java и получить доступ к переменным jmeter (в данном случае ID пользователя и информация о сеансе)

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