Load Runner. Параметризация скрипта.
#1
Отправлено 20 сентября 2005 - 08:55
В web приложении доступ пользователей к данным осуществляется на основе предоставленных прав. Каждый пользователь может работать только со строго отведенными ему данными (например выбирать значения из combobox).
Каким образом в LR можно формировать динамические наборы данных при воспроизведении ранее записанного скрипта ?
Спасибо.
#2
Отправлено 20 сентября 2005 - 13:18
То есть:
1. при помощи web_reg_save_param() получаете список сгенерированных на странице строк с соответствующими командами.
2. т.к. скорее всего Вам надо получить из этих строк код операции, придется еще раз парсить необходимую строку. Это уже при помощи стандартных С-функций...
3. после подставляете полученный код операции в вызов
#3
Отправлено 21 сентября 2005 - 06:35
Каким образом в LR можно формировать динамические наборы данных при воспроизведении ранее записанного скрипта ?
В LR существует стандартный механиз подмены определенного значения, используемого в функции, на переменную.
Данные для переменной могут формироваться разным способом: из заранее подготовленного файла, таблицы, браться динамически из быза данных, а так же из внешней библиотеки или получаться в результату вычислений при помощи пользовательской функции.
По мимо этого, можно "привязать" определенную функциональность к Vuser ID.
Как видите способов много. Что именно Вы уже попробовали и почему это не подходит? Ответ на этот вопрос поможет понять, что делать дальше.
#4
Отправлено 21 сентября 2005 - 07:36
Каким образом можно динамически брать данные из базы ? если это "Data Wizard", то такое решение не подходит.
Для того чтобы было более понятно, приведу простой пример:
Группа пользователей A состоит из десяти VU. Все они выполняют одинаковые сценарии, например заполнить на странице три combobox-а, один edit и нажать кнопку submit. Но каждый пользователь работает со своим набором данных, т.е. содержимое combobox-ов у них различное. В данном случае статические файлы подготовленные на основе запросов к базе не подходят. (могу и ошибаться ).
#5
Отправлено 21 сентября 2005 - 23:33
Kто и как определяет какие значения выбираются каждым VU в каждом combobox'е на каждой итерации? Статический файл с параметрами? Случайным образом? Зависит от данных, используемых на предыдущих шагах (например, определяется login'ом, под которым работаете)?Но каждый пользователь работает со своим набором данных, т.е. содержимое combobox-ов у них различное.
Можете и ошибаться. Зависит от того, как ответите на предыдущие вопросы. Если, например, login жестко определяет все доступные значения в каждом из combobox'ов и эти значения вам заранее известны, то статический файл с параметрами вполне будет работать (опять же не знаю есть ли зависимость между значениями, выбираемыми в combobox'ах, потому что если выбранное значение в combobox1 определяет допустимый набор значений в combobox2 и т.д., то число возможных комбинаций может стать таким, что подготавливать статический файл будет накладно).В данном случае статические файлы подготовленные на основе запросов к базе не подходят. (могу и ошибаться ).
#6
Отправлено 22 сентября 2005 - 05:29
Там где возможно, используется заранее подготовленный файл.
Каким образом можно динамически брать данные из базы ? если это "Data Wizard", то такое решение не подходит.
Для того чтобы было более понятно, приведу простой пример:
Группа пользователей A состоит из десяти VU. Все они выполняют одинаковые сценарии, например заполнить на странице три combobox-а, один edit и нажать кнопку submit. Но каждый пользователь работает со своим набором данных, т.е. содержимое combobox-ов у них различное. В данном случае статические файлы подготовленные на основе запросов к базе не подходят. (могу и ошибаться ).
AIN,
любое тестирование осуществляется на основе какой-то модели. Опишите свою модель, выявите наиболее характерные значения, зависимости или действия.
Если подствавляемые значения зависят от данных, полученных на предыдущих шагах, то программно проверяйте эти данные на соответствие условиям и в зависимости от результата делайте выбор.
Если же для определения вводимый данных нужно сделать какие-нибудь вычисления, то напишите функцию, которая их делает и принимайте решение по результатам.
Главное, что необходимо понять - Вы можете запрограммировать ЛЮБУЮ функциональность. По большому счету, можно писать программы любой сложности. Единственное ограничение - это, для использования таких программ необходимо запускать ЛоадРаннер.
#7
Отправлено 22 сентября 2005 - 19:04
Или, по крайней мере, такие программы должны запускаться из командной строки и сохранять результаты вычислений в текстовом файле, чтобы к ним можно было получить доступ из LR скрипта.Единственное ограничение - это, для использования таких программ необходимо запускать ЛоадРаннер.
#8
Отправлено 23 сентября 2005 - 06:07
Считываение заранее подготовленных данных при параметризации происходит при старте скрипта. После чего они помещаются в оперативную память и не обновляются, что делает невозможным обновление параметрических данных в ходе выполнения скрипта.
Пришлось писать свою функциональность, что бы реализовать динамическое обновление. В скрипте получали User ID и в зависимости от этого значения выбирали заранее подготовленные данные.
Тут есть одна тонкость. User ID может быть предсказуемым только в случае, если в момент добавления скрипта в контроллер сразу же указывается нужное количество виртуальных пользователей. Тогда их ID всегда начинается с 1 и имеет шаг - 1. Если же корректировать количество пользователей в скрипте в сторону увеличения непосредственно в контроллере, то ID могут иметь не предсказуемое значение.
#9
Отправлено 24 сентября 2005 - 06:33
Я бы не назвал это недостатком. Если считывать данные в процессе работы скрипта, то это повлияет на время его выполнения, а следовательно и на точность получаемых измерений.Считываение заранее подготовленных данных при параметризации происходит при старте скрипта.
Не знаю, конечно, деталей стоявшей перед вами задачи, но похоже на то, что вы изобретали велосипед. Вы, естественно, не первый, кто сталкивается с проблемой динамического обновления/получения данных в процессе работы скрипта. Есть такая штука, как Virtual Table Server (VTS), которая подобные задачи и решает. Отдельной лицензии не требует и свободно скачивается с нашего CSO сайта.Пришлось писать свою функциональность, что бы реализовать динамическое обновление.
#10
Отправлено 26 сентября 2005 - 07:19
Не знаю, конечно, деталей стоявшей перед вами задачи, но похоже на то, что вы изобретали велосипед. Вы, естественно, не первый, кто сталкивается с проблемой динамического обновления/получения данных в процессе работы скрипта. Есть такая штука, как Virtual Table Server (VTS), которая подобные задачи и решает. Отдельной лицензии не требует и свободно скачивается с нашего CSO сайта.
Действительно, раньше про такое не слышал.
А можно ли получить линк на детальную информацию как о библиотеке, так и о самом Virtual Table Server?
Спасибо.
#11
Отправлено 26 сентября 2005 - 07:59
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных