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

player1

Регистрация: 16 дек 2011
Offline Активность: 31 авг 2017 07:56
*****

#117726 Время Действия №01 в КвARTире

Написано player1 13 мая 2013 - 09:16

дико извиняюсь за оффтоп, но разве слово "нетехническое" пишется раздельно?
или в название заложен какой-то особенный смысл?
Спасибо.
  • 1


#117017 AJAX и JMeter

Написано player1 12 апреля 2013 - 09:40

а что значит обрабатывать AJAX запросы через JMeter?
изнутри они такие же http запросы. отправлять и анализировать ответ можно через http sampler.
  • 1


#113575 Как сделать нагрузочное тестирование процедуры регистрации

Написано player1 16 января 2013 - 10:00

не понятно, что значит "контент тип - json".
Если имеется ввиду, что json отправляется в POST запросе, то соответствено сам этот JSON тебе нужно формировать рукакми.
посмотри/покажи в Fiddler'е/Firebug'е какой именно отправляется запрос. И если JSON передаётся в виде значения одного из параметров POST запроса, например data={"email": "test@test.domain.com","password": "f0ff9fba446","deviceToken": "8477d8d50ec8844eb9c4700ecadf0730"}, то тебе этот JSON надо формировать руками:
В http sampler столбец Name: data
В http sampler столбец Value: {"email": "${email}","password": "${password}","deviceToken": "${deviceToken}"}


про email -- проверь нет ли опечаток в CSV data set config в указании этой переменной, проверь есть ли данные в указаном csv файле, добавь debug sampler и view results tree listner
  • 1


#113574 Почему при большом кол-ве потоков запросы выполняются в неправильном п

Написано player1 16 января 2013 - 08:51

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

Тебе нужно определиться с тем, что считать критерием равномерности. Например, можно считать, что нагрузка равномерна, если за некоторый промежуток времени выполнилось одинаковое количество запросов каждого типа. Или не одинаковое, но с каким то допуском в 2% или 0.5%
Для этого добавь Summary Report. Там каждый тип запросов считается в отдельную строку. Но, будь уверен, что количество будет примерно одинаковым.
  • 1


#113562 Почему при большом кол-ве потоков запросы выполняются в неправильном п

Написано player1 15 января 2013 - 14:27

что значит "увеличиваю нагрузку"?
если увеличиваешь количество потоков, то всё нормально, так и должно быть: каждый поток проходит свою последовательность запросов и в рамках одного потока порядок сохраняется.
ткни в каждое событие во View Results Tree -- в правой части должно писаться id потока, к которому это событие принадлежит.
  • 1


#112227 Возможно ли получить код динамической страницы?

Написано player1 26 ноября 2012 - 20:51

данные в любом случае запрашиваются с сервера. запросами
посмотри в Firebug/Fiddler, что отправляется при пролистывании
отключи в браузере JS, посмотри в Firebug/Fiddler, какие запросы выполняются в этом случае

Технологически, насколько я понимаю, это реализуется при помощи тэга <noscript>.
Например, если JS включен, то запрос на загрузку данных формируется JS скриптом, если отключен -- то статичным фреймом внутри <noscript> </noscript>. И в том и в другом случае эти запросы должны "засветиться" в Firebug/Fiddler и могут быть сэмулимрованы при помощи Jmeter. И, как мне кажется, должны быть проверены оба варианта, поскольку для отображения через JS всех результатов посика потребуется несколько запросов с ограничениемпо количеству, тогда как при отображении через <noscript> -- один, включающий всё.
  • 1


#112164 Добавление данных на сайт с помощью Jmeter

Написано player1 25 ноября 2012 - 15:15

охохо. посмотрел я на друпал. вот на это демо: http://www.opensourc...hp?scriptid=191
Тяжелая вещь в плане адекватности возвращаемых ответов. Запрашиваешь несуществующий путь -- он отвечает, что всё нормально. В результате 2 часа не замечал опечатку в одном запросе.

По существу: как и предполагалось, у друпаловских форм есть скрытые динамические поля, такие как form_build_id, form_token и т.д. Значение в этих полях уже заполненное и каждый раз новое.
Чтобы работать с такими формами, необходимо сначала запрашивать страницу с формой, а потом анализировать HTML код этой формы с помощью какого-нибудь Post Processor'а, например XPath Extractor или Regular Expression Extractor.
Например, для поля form_build_id это будет xpath //input[@name='form_build_id']/@value или regexp name="form_build_id" value="(.+?)"

Скрипт, что у меня получился для создания пользователей на Демо Друпале в аттаче. Там есть оба варианта уполребления: и XPath Extractor, и Regular Expression Extractor

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

  • Прикрепленный файл  Drupal.zip   2,94К   5 Количество загрузок:

  • 1


#111880 Вытянуть из таблицы № клиента по ФИО

Написано player1 14 ноября 2012 - 21:01

Лучше бы конечно увидеть код целиком.

1. Можно выбрать ячейку с нужным текстом, при помощи конструкции /.. подняться до уровня строки и перейти в нужный столбец

Например следующий паттерн будет возвращать значение из первого столбца (Company) для строки, у которой в третьем столбце (Change) хранится 0.01
http://dev.sencha.co...array-grid.html
//*[contains(@class,'x-grid-body')]/div//td[3]/div/span[text()='0.01']/../../../td[1]

2. можно выбрать все строки в массив запросом WebElements[] Lines = driver.findElements(By.xpath(".//*[@class='x-grid3-body']//tr")); и поочерёдно обрабатывать каждую строку на предмет того, что в поле ФИО
  • 1


#111252 Проблемы с путями к iframe

Написано player1 23 октября 2012 - 10:53

для работы с данными, находящимися внутри iFrame необходимо сначала сообщить драйверу, что нужно работать именно с данными из этого iframe.
Попробуй выполнить driver.switchTo().frame("soap-frame"); перед assertTrue(...) и xpath указывать уже без iframe: "//div[@id='invoice-content']//b[3]"

после этого, если необходимо работать с элементами основного окна, выполни driver.switchTo().defaultContent();

Ref: http://seleniumhq.or..._webdriver.html раздел "Moving Between Windows and Frames"
  • 1


#107313 возможно ли сохранить "access_token" from response при том что

Написано player1 04 июля 2012 - 12:53

Regular Expression Extractor же, нет? шаблон поиска "access_token":"(.+?)"
примеров использования миллионы в интернетах и должны быть в мануалах http://jmeter.apache...xpressions.html
  • 1


#107216 где прописать конкретный IP если сервера в кластере?

Написано player1 29 июня 2012 - 10:04

Немного непонятно.
У этого отдельного сервера же есть его собственный ip/hostname и порт? Соответственно в скрипте вместо ip/hostname и порта от load balancer'а подставьте ip/hostname и порт конкретного сервера, Или всё более сложнее чем я себе представляю?
  • 1


#107185 Fiddler отображает тело кракозяблами.

Написано player1 28 июня 2012 - 11:35

"Content-Encoding: gzip"
может быть проблема в этом?
Использовать Decode не пробовал?
  • 1


#103530 jmeter объявление переменных

Написано player1 04 апреля 2012 - 11:50

используй фигурные скобки: ${a}
  • 1


#101838 Вызов в JMeter метода из *.java файла

Написано player1 05 марта 2012 - 07:53

Как делал я:
0. компилируешь jar-ник
1. добавляешь его в папку jmeter/lib
2. перезапускаешь Jmeter
3. Добавляешь в сценарий BeanShell PreProcessor
4. В нём указываешь import class_name; (например import org.json.simple.JSONObject;)
5. Вызываешь метод с указанием класса (например JSONObject.Generate() )

ну и стандартный обвес в виде vars.get/vars.put для чтения/задания переменных Jmeter

ЗЫ Вообще хоть и заявлено, что BeanShell может выполнять родной джава код, я столкнулся с проблемами передачи параметров в вызовах внешних методов, так что с этим надо поосторожней и особо не мудрить.
ЗЗЫ И поскольку я ни разу не программист, в Jmeter мне весьма неочень во время отладки скриптов и поиска ошибок, так что после пары дней мучений все пробы и отладки вызовов перенёс во внешнюю IDE (NetBeans), а потом копипастил секцию import и код main класса.
  • 1