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

Фотография

Трудности с описанием кнопки "Дебаг" или как влезть в игольное

дебаг новичок

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

#1 Nadya1

Nadya1

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Nadia Lisenok

Отправлено 15 августа 2016 - 09:07

Привет друзья! Я мануальный тестировщик и не давно познакомилась с Jmeter, не могу разобраться с поставленной начальством задачей. У нас есть сайт, начальство хочет, чтобы я делала нагрузку на сайт созданием договоров многими пользователями одновременно, слушать что в Jmeter это сделать трудно никто не хочет ). Я записала на Recording Controller процесс создания договора, но воспроизводится он с ошибками и, исходя из этого не создается.  Обычные кнопки прописывать я научилась. Дело в том, что у нас есть не совсем обычная кнопка "дебаг" после которой нужно обновлять страницу (для нее создались 2 ссылки в Jmeter). После эмуляции создания  эти 2 ссылки стали красными. Я для первой создала Response Assertion, настроила и пункт прошел, но следующий за ним так и остался красным, скопировала Response Assertion от первого и туда, меняла get на post - не помогает, в Fox больше ничего нет для неё. Не пойму как сделать чтобы и вторая ссылка прошла ((...

Подскажите пожалуйста, буду очень благодарна советам :) !

 

Прикрепленные файлы

  • Прикрепленный файл  debug1.png   268,73К   0 Количество загрузок:
  • Прикрепленный файл  debug2.png   294,21К   0 Количество загрузок:
  • Прикрепленный файл  debug2-2.png   346,37К   0 Количество загрузок:
  • Прикрепленный файл  debug3.png   334,11К   0 Количество загрузок:
  • Прикрепленный файл  debug4.png   506,12К   0 Количество загрузок:
  • Прикрепленный файл  gr.png   133,45К   0 Количество загрузок:

  • 0

#2 Prettser

Prettser

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

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


Отправлено 15 августа 2016 - 09:48

Очень трудно на это все ответить, не обладая телепатическими способностями.

Но смущает следующее: Jmeter оперирует запросами, а не кнопками. Что значит "прописываю кнопки" не понятно. Есть ли куки менеджер в сценарии? Нужна ли корреляция между страницами системы? Не вставляйте листнеры в каждый запрос, у Вас же есть общий лестнер типа view result. Менять get на post и обратно бессмысленно, они должны делать ровно то, что подразумевается системой в определенный момент сценария.
Кажется Вы пытаетесь использовать инструмент, толком не познакомившись с ним. Стоит уделить внимание обучению. Почитать, посмотреть ролики с примерами. 


  • 1

#3 Nadya1

Nadya1

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Nadia Lisenok

Отправлено 15 августа 2016 - 14:04

Да, маловато информации написала, не программист потому что )).  Отвечаю на вопросы: Под "прописываю кнопки" имела ввиду добавляла Respons Assertion. В сценарии есть куки менеджер, скрин прилагаю. Корреляция между страницами не нужна. Да, общий Viev result tree у меня есть, я вставляю его не вовсе запросы (только в те, что с ошибкой)). Get на Post действительно менять не стоило, понимаю, ну больше из любопытства сделала). 

Да, буду изучать Jmeter дальше, конечно. Просто, я училась на юриста и тестирование изучала сама, наш программист в отпуске, менеджер с Jmeter не сталкивался, вообще не к кому обратиться за советом... Спасибо, что хоть форум есть!

 

Прикрепленные файлы

  • Прикрепленный файл  debug6.png   374,14К   0 Количество загрузок:

  • 0

#4 QuadBit

QuadBit

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

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

Отправлено 16 августа 2016 - 11:01

Да, общий Viev result tree у меня есть, я вставляю его не вовсе запросы (только в те, что с ошибкой)).

А какой смысл "вставлять в те что с ошибкой"? Вставив один тривью во всё тредгруппу вы автоматически получите отображение для ВСЕХ запросов из тредгруппы, вне зависимости от того, прошли они или нет. Подход у вашего начальства интересный конечно, как ручник быстренько реализует подобную задачу, да ещё не имея тех бека мне не совсем понятно.

 

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

 

Задача скорее всего сама по себе не сложная, но без подобных знаний решить её маловероятно. Хуже того, с моей точки зрения, если вы её сейчас решите, у начальства станет нормой и дальше давать задачи не совсем подходящие под компетенцию - сами себе роете, исключительно ИМХО.


  • 1

#5 Nadya1

Nadya1

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Nadia Lisenok

Отправлено 16 августа 2016 - 13:28

 

Да, общий Viev result tree у меня есть, я вставляю его не вовсе запросы (только в те, что с ошибкой)).

А какой смысл "вставлять в те что с ошибкой"? Вставив один тривью во всё тредгруппу вы автоматически получите отображение для ВСЕХ запросов из тредгруппы, вне зависимости от того, прошли они или нет. Подход у вашего начальства интересный конечно, как ручник быстренько реализует подобную задачу, да ещё не имея тех бека мне не совсем понятно.

 

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

 

Задача скорее всего сама по себе не сложная, но без подобных знаний решить её маловероятно. Хуже того, с моей точки зрения, если вы её сейчас решите, у начальства станет нормой и дальше давать задачи не совсем подходящие под компетенцию - сами себе роете, исключительно ИМХО.

 

На счет Viev result tree в каждом запросе с ошибкой - это я для удобства сделала, т.к. всех запросов около 200 и не очень удобно каждый раз подниматься к проблемному, они у меня всегда открыты и имеют свой VRT. Начальство у меня тоже не имеет прогр-образования, по этому и решило что это легко реализовать. Нагрузку делать  я научилась, нужен был сценарий поиска на сайте, по параметрам, с переходом на найденную позицию - сделала. А вот автосоздание договоров пока не дается... (( Буду копаться дальше... Я не люблю сдаваться. У меня есть опыт самостоятельного изучения HTML, CSS, Python, я и сайты сама писала - хотелось заморочиться, как работают приложения знаю. Спасибо что дали наводку на тестирование REST API перечитаю.

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

Я была бы очень благодарна, если бы нашелся человек готовый меня немножко на этом примере подучить, по Скайпу... Это было бы чудо... но, я верю в чудеса... :)


  • 0

#6 Prettser

Prettser

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

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


Отправлено 17 августа 2016 - 03:50

Распишите словами пошагово сценарий создания "договора" для начала. Надеюсь для себя это уже сделано :)

Какой смысл подключаться по скайпу, если человек не будет знать что должно произойти? Там пол часа только на вопросы о сценарии уйдет.


  • 0

#7 Nadya1

Nadya1

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Nadia Lisenok

Отправлено 17 августа 2016 - 10:02

Описываю сценарий : 1. Нажала запись. 2 Зашла на нужную страницу. 3. Нажала кнопку гл. меню   "Включить дебаг". Перезагрузила страницу. 4. Выбрала из вып. меню войти как организатор". Перезагрузила страницу. 5. Нажала на ссылку нужного шаблона. 6. Перекинулась на страницу шаблона создания договора. Заполнила договор, нажала "сохранить". 7. Перекинулась на др. страницу, нажала ссылку редиректа. 8 Перекинулась на стр, нажала кнопку "опубликовать на ЭТП". 9. Перешла на др. страницу, нажала ссылку редиректа. 10. Перекинули на стр. с красивым свежесозданным договором. 11. Остановила запись.

Описываю ошибки: 351 - дебаг пыталась исправить(кнопку вывела, но вроде она не нажимается), 352- дебаг после обновления страницы (не смогла исправить), 388- (может, ошибка куков, пишет 403), 413- (может, ошибка куков, договор не сохраняется. Поменяла цифровое value для token на ${token}), 439-  (ошибка 403). Наверное, там еще и фильтр нужен какой то...

Жаль, файл со скриптом нельзя приложить.


  • 0

#8 checo

checo

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

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 17 августа 2016 - 12:00

Раз пишете про замену ${token}, то про поиск динамических параметров советовать не нужно - тема уже знакомая :smile:

 

Тогда, совет на все времена, простой, как кирпич - поискать разницу с реальным трафиком из браузера. Это долго, но когда проблема и без того долго не решается, делать нечего.

 

Просто сравнить все заголовки, контент - на каком этапе возникает расхождение или появляются уникальные для сессии параметры. Лучше взять какой-нибудь прокси, независимый от JMeter, и трафик самого JMeter'а тоже пустить через него. Например, в Fiddler можно посмотреть сырые нераспарсеные запросы и ответы, иногда по ним сразу видно разницу.

 

И еще наводящий вопрос: если уже запускаете нагрузку, а не отладку в один тред, то нет ли такого, что все треды пытаются работать под одним логином?


  • 1

#9 Prettser

Prettser

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

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


Отправлено 17 августа 2016 - 12:12

Заметил, что часто фигурирует какая-то кнопка "дебаг". И Вы упорно ее хотите "нажать" в  Jmeter.

Что является результатом нажатия этой кнопки? какой-то скрипт выполняется? или происходит запрос? какой запрос, с какими параметрами?

 

Вставили ${token}. А где его получаете? Где он определяется?

 

Работая с Jmeter, работайте с записанными запросами. Смотрите на параметры. Не думайте о кнопках, думайте о том, что отправляется на сервер и как ЭТО отправлять правильно.


  • 1

#10 Nadya1

Nadya1

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Nadia Lisenok

Отправлено 18 августа 2016 - 08:17

Раз пишете про замену ${token}, то про поиск динамических параметров советовать не нужно - тема уже знакомая :smile:

 

Тогда, совет на все времена, простой, как кирпич - поискать разницу с реальным трафиком из браузера. Это долго, но когда проблема и без того долго не решается, делать нечего.

 

Просто сравнить все заголовки, контент - на каком этапе возникает расхождение или появляются уникальные для сессии параметры. Лучше взять какой-нибудь прокси, независимый от JMeter, и трафик самого JMeter'а тоже пустить через него. Например, в Fiddler можно посмотреть сырые нераспарсеные запросы и ответы, иногда по ним сразу видно разницу.

 

И еще наводящий вопрос: если уже запускаете нагрузку, а не отладку в один тред, то нет ли такого, что все треды пытаются работать под одним логином?

Я токен прописала на всякий случай, вдруг поменяется, потом везде посмотрела, оказывается он не меняется нигде :). Спасибо за совет с fiddler, установила, буду разбираться, сравнивать какие ответы придут в нем и в Jmeter. Придется, наверное и в браузере посравнивать сразу, что записывается в Jmeter... Жаль, что я не программист, наверное быстрее разобралась бы.

Не очень поняла ваш наводящий вопрос ) : вы интересуетесь не запускала ли я нагрузку на все рабочие ветки одновременно, и не идет ли запрос к одному и тому же сайту, так? Нет, веток у меня много, но я их одновременно не запускаю, только конкретную.


  • 0

#11 Nadya1

Nadya1

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Nadia Lisenok

Отправлено 18 августа 2016 - 08:27

Заметил, что часто фигурирует какая-то кнопка "дебаг". И Вы упорно ее хотите "нажать" в  Jmeter.

Что является результатом нажатия этой кнопки? какой-то скрипт выполняется? или происходит запрос? какой запрос, с какими параметрами?

 

Вставили ${token}. А где его получаете? Где он определяется?

 

Работая с Jmeter, работайте с записанными запросами. Смотрите на параметры. Не думайте о кнопках, думайте о том, что отправляется на сервер и как ЭТО отправлять правильно.

Дело в том, что после нажатия кнопки "Включить дебаг" появляется ссылка на окно где можно авторизироваться как администратор, иначе нет доступа к созданию нужного типа договоров. запрос уходит с параметрами debug 1 . В Jmeter прописаны 2 строчки для дебага, идущие следом друг за другом. Первый проходит, а на втором уже ошибка. Для второго запроса Jmeter ничего не прописывает, ставила туда тоже debug 1 не прошло.

Токен определяется на странице с параметрами создания договора, где вводится куча информации, и прописывается потом на всех последующих страницах. 

Из новостей, поставила фильтр в тест скрипт рекордере, чтобы остались только не мусорные запросы. Теперь вместо 180 запросов стало 19 :). Уже привыкла к мысли, что запросы существуют отдельно от кнопок :) , спасибо. Теперь осталось разобраться почему серверу не нравятся кнопки-запросы дебаг тянущие за собой 4 ошибки.


  • 0

#12 checo

checo

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

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 18 августа 2016 - 08:39

И еще наводящий вопрос: если уже запускаете нагрузку, а не отладку в один тред, то нет ли такого, что все треды пытаются работать под одним логином?

 

Не очень поняла ваш наводящий вопрос ) : вы интересуетесь не запускала ли я нагрузку на все рабочие ветки одновременно, и не идет ли запрос к одному и тому же сайту, так? Нет, веток у меня много, но я их одновременно не запускаю, только конкретную.

 

Ну, это просто было предположение. Теоретически, ошибка 403 может возникать, если ресурс уже открыт пользователем, и потом его из другого потока под тем же пользователем пытаются получить.


  • 1

#13 Prettser

Prettser

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

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


Отправлено 18 августа 2016 - 09:44

Что показывает Fiddler при нажатии "дебаг" кнопки?

Если происходит авторизация, то почему нет запроса с параметрами авторизации? или debug 1 это и есть логин-пароль?


  • 1

#14 Nadya1

Nadya1

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Nadia Lisenok

Отправлено 18 августа 2016 - 13:32

Что показывает Fiddler при нажатии "дебаг" кнопки?

Если происходит авторизация, то почему нет запроса с параметрами авторизации? или debug 1 это и есть логин-пароль?

Fidler при нажатии на дебаг показал ошибку 404, скрин приложу. Да, эта кнопка для дальнейшей авторизации нужна.

Прикрепленные файлы


  • 0

#15 Nadya1

Nadya1

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Nadia Lisenok

Отправлено 21 августа 2016 - 17:37

   Новость- в пятницу из-за перебоев с электричеством у нас сгорела железка. Завтра выйдет с отпуска программист, и неделя обещает быть горячей...

Нагуглила, что надпись X-Frame-Options:DENY означает защиту от хакерских атак. Теперь сижу гадаю, может быть сайтом Jmeter и Fiddler определяются как нежелательная опасность? И захотят ли девелоперы заменить  DENY на SAMEORIGIN или ALLOW-FROM?  И если нет, как в таком случае мне обойти это и добиться создания договоров в Jmeter ? И почему в Jmeter писались 4 ошибки как 403, а в Fiddler они стали 404?

    Как починят все, буду дальше пытаться записывать сценарии, где точно войду и авторизируюсь под дебагом 1 раз, чтобы исключить ошибку описанную форумчанином checo.

Такие новости...


  • 0

#16 Nadya1

Nadya1

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Nadia Lisenok

Отправлено 26 августа 2016 - 10:26

Программист внес изменения в код, теперь с дебагом ошибок нет, остались только 3- 403 , опять я зависла. Решить с помощью token не получилось, буду искать и штудировать литературу, как это исправить.


  • 0

#17 Prettser

Prettser

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

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


Отправлено 26 августа 2016 - 12:18

Вот и отлично. Вы баг нашли? :)

Начальник немного хоть доволен?


  • 1

#18 Nadya1

Nadya1

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

  • Members
  • Pip
  • 16 сообщений
  • ФИО:Nadia Lisenok

Отправлено 26 августа 2016 - 16:33

Вот и отлично. Вы баг нашли? :)

Начальник немного хоть доволен?

Наш программист Голова! Он сделал парсинг, зациклил кучу запросов до результата нужного, и все получилось ). Жаль, что я так не умею.

Я у начальника не спрашивала, как ему моя работа :), но испытательный срок кночился еще вчера, меня взяли на постоянную, так что я счастлива :) ! Сказали теперь браться за Selenium, придется и его покорять, но мне нравится открывать новые горизонты знаний, жаль только что быстро это не делается.


  • 0



Темы с аналогичным тегами дебаг, новичок

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

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