Задний план
Сегодня ключевой особенностью любого сайта является тем, насколько быстро он выполняет и как быстро мы можем получить результаты из этого, как сегодня никто не успеет ждать и смотреть на экран, чтобы получить желаемый выход.
Чтобы исправить, что нам нужна тестирование производительности и выполнение тестирования производительности, нам нужны скрипты, чтобы получить сценарии, которые нам нужны время и инженер-исполнитель, который является процессом, потребляющим много времени.
В тестировании производительности наиболее важно определить сценарии для производительности, скриптов, а затем для идентификации и анализа результатов.
Большинство временных и болезненной части в целом – сценария, так что, если я скажу, мы сделали это легко !!
Только один клик, и ваши сценарии готовы работать на любой нужной платформе, будь то Loadrunner, Jmeter, Neoload и т. Д.
Проблема
Сегодня почти каждый инструмент имеет возможность записи шагов, которые вы выполняете на AUT, а затем создаете скрипт из него, но основной задачей состоит в том, чтобы соотноситься.
Так что для непроказанного парня вопрос будет «Что значит эта корреляция?»
Объяснение того, что в очень терминах Layman является захват динамических значений, возвращаемых сервером, а затем отправляя это с каждым запросом, чтобы вы могли обмануть свой сервер, что запрос действителен, и вы должны получить действительный ответ.
Теперь это может показаться очень маленькой и легкой работой, но позвольте мне сказать вам, что это не так.
Нам нужно глубоко погрузиться в каждый ответ, перезагрузите сценарии, чтобы узнать разницу, глядя в эти динамические идентификаторы, а затем продолжать коррелировать их с помощью регулярных выражений, которые занимают много времени и усилий.
Решение
Мы изначально начались с мысли «Что, если это можно автоматизировать?» Поскольку существует многие, которые работают над автоматизированной отчетной автоматической моделями нагрузки и т. Д., Но ни один инструмент не имеет этой способности автоматизировать ядро, сценарию !!
Тогда самый большой вопрос был, может быть, это не достижимо, потому что если это тогда есть технологии, которые бы делали это, нет?
Но друг от друга все, что мы думали, о том, чтобы дать ему попробовать и увидеть, что мы получим что-то еще, это будет извлеченный урок.
Мы много исследовали, а затем узнали способ продолжить:
Получите Har файлы каждого действия, выполненные из Chrome. Повторите выполнение шагов и получите еще один заар для сравнения. Сравните Har’s и получите динамические значения и границы. Коррелируйте их, определяя левые и правые границы. Положите эту корреляцию вместо тегов. Наконец, генерируйте скрипт в желаемом формате в соответствии с инструментом и получить сценарий готов.
Получение Har File
Чтобы получить Har, мы также сделали рекордер, который может записать шаги, которые мы выполняем, а затем повторно запускаем тех, которые помогли нам удалить еще одно человеческое вмешательство.
Первая вызов, с которыми мы столкнулись, было создание газа, и мы попробовали Phantom Js и uppeteeter, но позже узнали, что у него нет правильных возможностей создавать многократный хард, тогда мы узнали немного больше и, наконец, урегулированы на Selenium с Java. Одна проблема решена !!
Сравнивая HAR файлы
Далее было сравнение 2 Har’s и получить различия, легко мы сделали это через некоторое время, сохраняя каждый элемент в качестве пары ключа, а затем сравнивая их, чтобы получить результаты.
Обратно
Теперь самый сложный процесс состоял в том, чтобы коррелировать их, идентифицируя левые и правые границы на лету и получите значения, коррелируемые. Мы много боролись в том, что и, наконец, выяснили, что каждое приложение отвечает по-разному, чтобы мы не можем автоматизировать все на ходу.
Мы выяснили некоторые очень базовые, и наиболее распространенные ценности возвращаются, которые следует сначала позаботиться, и мы начали их охватывать их.
<(что-нибудь) (что-нибудь)/> <(что-нибудь) ключ (что-нибудь) значение (что-нибудь)> <(что-нибудь) Значение (что-нибудь) Ключ (что-нибудь)> Чтобы получить значения в заголовке, куки и тело
Нахождение динамических границ было действительно жестким, но после многих итераций и борьбы мы сделали это, наконец,
Теперь следующая задача состояла в том, чтобы поставить эти кусочки вместе и создать сценарий из этого. Для этого сначала мы нацелили скрипт JMeter и создали действительный JMX из того, что можно легко запускать в JMeter.
Мы собрали все кусочки вместе и создали инструмент, который может просто записать действия, которые вы выполняете на браузере в виде плагина и отправляете Har Generated на наш сервер, в котором наш двигатель работает и создает 2 прогона проекта для сравнения, двигатель сравнивает тогда и Автоматические генерирует файл JMX из этого, который мы можем запустить на наших серверах, и мы получим из них красивые отчеты.
Заключение
Мы все еще усиливаем наш инструмент каждый день, добавив все больше и больше условий в этом и создавая систему более интеллектуальной.
Мы исследуем и пытаемся оспорить наши навыки, а иногда мы достигаем, что кажется невозможным.