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

Фотография

Процедура доступа к почтовому ящику


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

#1 nik_o

nik_o

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

  • Members
  • Pip
  • 20 сообщений
  • ФИО:Николай
  • Город:Одесса


Отправлено 06 октября 2011 - 18:50

Всем привет.
Почитав посты про JMeter и его плагины и не найдя ответа на интересующий меня вопрос,
решил задать вопрос для решения моего вопроса. Я только начал использования и знакомство
с инструментом, поэтому прошу не пинать меня ногами за некорректно поставленные вопросы.
Так как здесь много людей знающих и давно использующих JMeter, я надеюсь
получить помощь от них. Впрочем, мне любой совет по данной теме не помешает.

В чём же суть вопроса. Описываю:

Есть web приложение. Пользователь проходит простую регистрацию (здесь пока у меня не
возникло вопросов) попадает на страницу, где он может предоставить доступ приложению
к своему почтовому ящику. Ящик может быть расположен либо на Yahoo либо на Gmail.
Для получения доступа используется API того или другого провайдера. Соответственно
выбирая определённого провайдера и тыкнув кнопочку "предоставить доступ" мы получаем
форму авторизации на выбранном почтовом сервисе. Вот тут и получилась загвоздка. Эту
авторизацию я и не могу пройти. Хотелось бы получить Вашего совета и помощи. Желательно
чтоб это было наглядно и понятно (ну как для детей :) ).
Если необходима дополнительная инфа, скажите, постараюсь дать максимум информации чтоб
ускорить решение вопроса.
Спасибо.
  • 0

#2 fesd

fesd

    Опытный участник

  • Members
  • PipPipPipPip
  • 262 сообщений

Отправлено 07 октября 2011 - 03:43

Я правильно понял, что авторизация на почте происходит через какой-то веб-интерфейс? Вы написали, что это веб приложение, значит наверно это так. Скорее всего логин и пароль для авторизации на почте передается в качестве пост параметров в хттп запросе. У вас проблема в том, чтобы выполнить такой же запрос с помощью жметра? Попробуйте посмотреть посылаемые запросы в Developer Tools в браузере chrome(кнопка F12) или в плагине firebug в firefoxe. Сформировать данные запросы с помощью JMeter я думаю вы уже сможете. Другой вариант воспользоваться записью запросов с помощью HTTP Proxy Server в самом JMeter - help вам поможет.
  • 0

#3 nik_o

nik_o

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

  • Members
  • Pip
  • 20 сообщений
  • ФИО:Николай
  • Город:Одесса


Отправлено 07 октября 2011 - 04:37

Я правильно понял, что авторизация на почте происходит через какой-то веб-интерфейс? Вы написали, что это веб приложение, значит наверно это так. Скорее всего логин и пароль для авторизации на почте передается в качестве пост параметров в хттп запросе. У вас проблема в том, чтобы выполнить такой же запрос с помощью жметра? Попробуйте посмотреть посылаемые запросы в Developer Tools в браузере chrome(кнопка F12) или в плагине firebug в firefoxe. Сформировать данные запросы с помощью JMeter я думаю вы уже сможете. Другой вариант воспользоваться записью запросов с помощью HTTP Proxy Server в самом JMeter - help вам поможет.


Спасибо за подсказку. Да, авторизация через web интерфейс. На счёт посмотреть формируемые запросы в firebug это мысль. Я как-то не подумал об этом. А запись сценария через HTTP Proxy и Badboy ничего не дала. Или
может я лишнее удалил из скрипта. Попробую сегодня ещё раз.
  • 0

#4 APC

APC

    Опытный участник

  • Members
  • PipPipPipPip
  • 293 сообщений
  • ФИО:Похилько Андрей Федорович
  • Город:Москва


Отправлено 07 октября 2011 - 06:08

Я думаю Гугл и Яха не обрадуются нагрузочному тестированию своих АПИ авторизации и скоренько забанят назойливый ИП.

В таких ситуациях лучше делать заглушку-эмулятор в своем приложении, это существенно облегчает задачу НТ
  • 0

#5 nik_o

nik_o

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

  • Members
  • Pip
  • 20 сообщений
  • ФИО:Николай
  • Город:Одесса


Отправлено 07 октября 2011 - 12:28

Я думаю Гугл и Яха не обрадуются нагрузочному тестированию своих АПИ авторизации и скоренько забанят назойливый ИП.

В таких ситуациях лучше делать заглушку-эмулятор в своем приложении, это существенно облегчает задачу НТ


Как раз в этом направлении (заглушку-эмулятор) и работаю. Спасибо за ответ.
  • 0

#6 nik_o

nik_o

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

  • Members
  • Pip
  • 20 сообщений
  • ФИО:Николай
  • Город:Одесса


Отправлено 11 октября 2011 - 14:33


Я думаю Гугл и Яха не обрадуются нагрузочному тестированию своих АПИ авторизации и скоренько забанят назойливый ИП.

В таких ситуациях лучше делать заглушку-эмулятор в своем приложении, это существенно облегчает задачу НТ


Как раз в этом направлении (заглушку-эмулятор) и работаю. Спасибо за ответ.


Вопрос подключения решён. Но появились другие вопросы.

1. Есть Loop Controller. В нём выполняется несколько шагов. Один из них цикл While Controller, выход из этого цикла происходит
по выстовлению некоторой переменной в 0. Так вот, как устанавливать эту переменную, назовём её STATUS, перед входом в
While Controller в 1?

2. При выполнении логированя из куков вытягивается сессионная переменная которая помещается в переменную CT_PARAM
в тест-плане. Эта переменная должна использоваться во всех телодвижениях теста, до логаута. Подскажите где лучше хранить
значение этой переменной если: а) пользователей будет много и у каждого значение этой переменной будет своё; б) циклов
логин-логаут будет тоже некоторое количество и при каждом новом логине значение переменной тоже будет меняться.

3. Какой лучше использовать элемент для выполнения пауз между шагами определёнными в тест-плане.

4. Как и куда можно выводить текущее значение переменных в тест-плане, чтоб можно было контролировать их значение во
время выполнения тест-плана.
  • 0

#7 possessed

possessed

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

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Шадрин Кирилл

Отправлено 19 октября 2011 - 05:37

Сразу предупреждаю - я не "гуру", просто столкнулся с подобными задачами, и решил их для себя следующим образом:

1. Есть Loop Controller. В нём выполняется несколько шагов. Один из них цикл While Controller, выход из этого цикла происходит
по выстовлению некоторой переменной в 0. Так вот, как устанавливать эту переменную, назовём её STATUS, перед входом в
While Controller в 1?

Не совсем понял вопрос, но возможно поможет Once Only Controller - исполняет свое содержимое только один раз и пропускает выполнение содержимого при последующих итерациях. Пример: Loop Controller настроен на пятикратное выполнение и содержит Once Only Controller, содержимое Once Only Controller выполнится только один раз.

3. Какой лучше использовать элемент для выполнения пауз между шагами определёнными в тест-плане.

Опять же не совсем понял (какой критерий "лучшести"?). Использовал обычный constant timer

4. Как и куда можно выводить текущее значение переменных в тест-плане, чтоб можно было контролировать их значение во
время выполнения тест-плана.

Делал так:
Edit > Add > Sampler > Debug Sampler (Jmeter Variables:=true)
Значения переменных по ходу выполнения плана смотрел в TreeListeners (Response Data).

Буду рад, если помог.
Если нет - звиняйте.
  • 0

#8 nik_o

nik_o

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

  • Members
  • Pip
  • 20 сообщений
  • ФИО:Николай
  • Город:Одесса


Отправлено 19 октября 2011 - 06:38

Сразу предупреждаю - я не "гуру", просто столкнулся с подобными задачами, и решил их для себя следующим образом:


1. Есть Loop Controller. В нём выполняется несколько шагов. Один из них цикл While Controller, выход из этого цикла происходит
по выстовлению некоторой переменной в 0. Так вот, как устанавливать эту переменную, назовём её STATUS, перед входом в
While Controller в 1?

Не совсем понял вопрос, но возможно поможет Once Only Controller - исполняет свое содержимое только один раз и пропускает выполнение содержимого при последующих итерациях. Пример: Loop Controller настроен на пятикратное выполнение и содержит Once Only Controller, содержимое Once Only Controller выполнится только один раз.

3. Какой лучше использовать элемент для выполнения пауз между шагами определёнными в тест-плане.

Опять же не совсем понял (какой критерий "лучшести"?). Использовал обычный constant timer

4. Как и куда можно выводить текущее значение переменных в тест-плане, чтоб можно было контролировать их значение во
время выполнения тест-плана.

Делал так:
Edit > Add > Sampler > Debug Sampler (Jmeter Variables:=true)
Значения переменных по ходу выполнения плана смотрел в TreeListeners (Response Data).

Буду рад, если помог.
Если нет - звиняйте.


Спасибо за Ваш ответ. Часть вопросов я уже решил. Время подпирало, пришлось извращаться.
Значить по порядку.

1. Я имел ввиду что в Loop Controller при каждой итерации необходимо устанавливать значение
некоей переменной, в данном случае это переменная STATUS, в 1. Это необходимо делать для выполнения
условия входа в цикл, While Controller, так как для выхода из цикла переменная устанавливается в 0. В цикле
эта переменная устанавливается путём выполнения http запроса к серверу и последующего анализа ответа
сервера с помощью Regular Expression Extractor. Эти же действия я выполняю для пред-установки переменной
STATUS перед входом в цикл.

2. Вопрос о том где хранить переменную, решён полностью. Достаточно не объявлять переменную как глобальную,
а объявить её в Thread Group например. Мне это помогло.

3. В тест-плане есть определённый набор действий, который JMeter должен выполнить. Так вот, здесь мне надо
было выполнять паузу между этими действиями. Как это можно сделать? Я пока сделал так: прицепил к каждому
шагу в тест-плане Constant Timer. Но это же не "комиль-фо". Должно быть более элегантное решение.

4. Да, я использую сейчас тоже, что посоветовали и Вы.

Остался открытый вопрос номер 3. На данный момент он не срочный, но всё же его придётся решить тоже. Может
кто-то подскажет решение.

Ещё я создал новую тему, вот она: http://software-test...um/topic/20857/ Может кто знает как выполнить то, что там
описано.

Всем ещё раз спасибо.
  • 0

#9 AxelM

AxelM

    Активный участник

  • Members
  • PipPip
  • 118 сообщений
  • ФИО:Зверев Дмитрий
  • Город:Санкт-Петербург


Отправлено 19 октября 2011 - 18:15

3. В тест-плане есть определённый набор действий, который JMeter должен выполнить. Так вот, здесь мне надо
было выполнять паузу между этими действиями. Как это можно сделать? Я пока сделал так: прицепил к каждому
шагу в тест-плане Constant Timer. Но это же не "комиль-фо". Должно быть более элегантное решение.


Вы можете создать таймер один раз для Thread Group и он будет применяться всеми тредами ко всем Sampler внутри него.
Смотрите картинку:

Прикрепленный файл  Timer1.png   67,91К   28 Количество загрузок:

Таймер стоит один раз и равен 5 сек => между каждым действие в Simple Controller идет пауза в 5 сек
  • 0


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

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