TruClient. Первый скрипт. |
09.04.2011 23:45 | ||||||||||||||||||||
Автор: Комендантов Илья В предыдущей статье мы начали теоретическое знакомство с новым членом семейства веб-протоколов HP LoadRunner – TruClient. Закончилось оно хвалебной одой в его адрес: быстрое и лёгкое создание скриптов и богатые возможности настройки знаменуют полную и безоговорочную победу светлого будущего нагрузочного тестирования! Восторженные крики, овации, занавес. Однако не стоит, конечно, делать выводы, основанные только на теоретическом обзоре. «Теория без практики мертва» – утверждал Александр Васильевич Суворов.Поэтому давайте попробуем посмотреть на конкретном примере, как происходит запись скрипта в TruClient. В качестве подопытного кролика возьмём сайт http://www.signappnow.com/sheet/create . На странице несколько текстовых полей, календарик jQuery, кнопка и простенькая система защиты от автоматических регистраций на основе арифметического выражения. «Вооружение» – HP LoadRunner 11.0 Patch 2 (на момент написания статьи самая свежая версия). Что ж, с исходными данными ознакомились, приступим-с. TruClient использует механизм записи на основе Firefox, встраиваясь в него в качестве расширения (add-on). Следующая вкладка тулбара – Edit, здесь собраны основные операции редактирования: копирование, вставка, удаление шагов и так далее. Вкладка Window позволяет выбрать другое окно браузера и проиграть скрипт в нём. Немножко освоились, пора приступать к экспериментам. Вставляем URL тестируемой странички и жмём кнопку записи. Далее заполняем все поля, особое внимание уделяем календарику: именно с ним не справился предшественник – Ajax (Click & Script). Должно получиться так: Давайте теперь рассмотрим поближе полученные шаги (для этого их можно развернуть):
Для каждого шага TruClient прописывает соответствующие параметры, например аргументы при нажатии на кнопку: Button (“Left”, “Right”, “Middle”) Ещё одно замечательное отличие от предшественников – в любом изменяемом поле шага можно использовать JavaScript.
Целевой элемент Label с “for” = “с”и значением “What is X + Y ?”. var labels = document.getElementsByTagName('label'); for (var i in labels) { if (labels.item(i).htmlFor == 'c') var str = labels.item(i).innerHTML; } Для второго и третьего пункта проще: LR.setParam("answer", eval(str.slice(8, -2))); Четвёртый, совсем простой: LR.getParam(“answer”); Добавим функцию «Evaluate JavaScript» в скрипт и пропишем в аргументе первую и вторую часть кода. В аргумент шага «Type “11” in “What is 3 + 8 ?” textbox» добавляем код получения значения параметра. Должно получиться примерно так: В дальнейшем мы исследуем поведение TruClient на более сложных сайтах, ну и конечно же проведём нагрузочный тест, для чего собственно LoadRunner и предназначен. |