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

Фотография

Load Runner. Параметризация скрипта.


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

#1 AIN

AIN

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

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

Отправлено 20 сентября 2005 - 08:55

Здравствуйте!

В web приложении доступ пользователей к данным осуществляется на основе предоставленных прав. Каждый пользователь может работать только со строго отведенными ему данными (например выбирать значения из combobox).

Каким образом в LR можно формировать динамические наборы данных при воспроизведении ранее записанного скрипта ?

Спасибо.
  • 0

#2 Сэм

Сэм

    Постоянный участник

  • Members
  • PipPipPip
  • 212 сообщений
  • ФИО:Сергей Минаев
  • Город:Москва


Отправлено 20 сентября 2005 - 13:18

При помощи парсинга (web_reg_save_param()) и, возможно, вспомогательных операций со строками, получаете список динамически формируемых списков.
То есть:
1. при помощи web_reg_save_param() получаете список сгенерированных на странице строк с соответствующими командами.
2. т.к. скорее всего Вам надо получить из этих строк код операции, придется еще раз парсить необходимую строку. Это уже при помощи стандартных С-функций...
3. после подставляете полученный код операции в вызов
  • 0

#3 Green

Green

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 233 сообщений
  • ФИО:Гринкевич Сергей
  • Город:Москва

Отправлено 21 сентября 2005 - 06:35

Каким образом в LR можно формировать динамические наборы данных при воспроизведении ранее записанного скрипта ?

Просмотр сообщения


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

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

По мимо этого, можно "привязать" определенную функциональность к Vuser ID.

Как видите способов много. Что именно Вы уже попробовали и почему это не подходит? Ответ на этот вопрос поможет понять, что делать дальше.
  • 0
Гринкевич Сергей

#4 AIN

AIN

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

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

Отправлено 21 сентября 2005 - 07:36

Там где возможно, используется заранее подготовленный файл.

Каким образом можно динамически брать данные из базы ? если это "Data Wizard", то такое решение не подходит.

Для того чтобы было более понятно, приведу простой пример:
Группа пользователей A состоит из десяти VU. Все они выполняют одинаковые сценарии, например заполнить на странице три combobox-а, один edit и нажать кнопку submit. Но каждый пользователь работает со своим набором данных, т.е. содержимое combobox-ов у них различное. В данном случае статические файлы подготовленные на основе запросов к базе не подходят. (могу и ошибаться :good: ).
  • 0

#5 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 21 сентября 2005 - 23:33

Но каждый пользователь работает со своим набором данных, т.е. содержимое combobox-ов у них различное.

Kто и как определяет какие значения выбираются каждым VU в каждом combobox'е на каждой итерации? Статический файл с параметрами? Случайным образом? Зависит от данных, используемых на предыдущих шагах (например, определяется login'ом, под которым работаете)?

В данном случае статические файлы подготовленные на основе запросов к базе не подходят. (могу и ошибаться  :dirol: ).

Можете и ошибаться. Зависит от того, как ответите на предыдущие вопросы. Если, например, login жестко определяет все доступные значения в каждом из combobox'ов и эти значения вам заранее известны, то статический файл с параметрами вполне будет работать (опять же не знаю есть ли зависимость между значениями, выбираемыми в combobox'ах, потому что если выбранное значение в combobox1 определяет допустимый набор значений в combobox2 и т.д., то число возможных комбинаций может стать таким, что подготавливать статический файл будет накладно).
  • 0
Дмитрий Шевченко

HP Software

#6 Green

Green

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 233 сообщений
  • ФИО:Гринкевич Сергей
  • Город:Москва

Отправлено 22 сентября 2005 - 05:29

Там где возможно, используется заранее подготовленный файл.

Каким образом можно динамически брать данные из базы ? если это "Data Wizard", то такое решение не подходит.

Для того чтобы было более понятно, приведу простой пример:
Группа пользователей A состоит из десяти VU. Все они выполняют одинаковые сценарии, например заполнить на странице три combobox-а, один edit и нажать кнопку submit. Но каждый пользователь работает со своим набором данных, т.е. содержимое combobox-ов у них различное. В данном случае статические файлы подготовленные на основе запросов к базе не подходят. (могу и ошибаться  :dirol: ).

Просмотр сообщения


AIN,

любое тестирование осуществляется на основе какой-то модели. Опишите свою модель, выявите наиболее характерные значения, зависимости или действия.

Если подствавляемые значения зависят от данных, полученных на предыдущих шагах, то программно проверяйте эти данные на соответствие условиям и в зависимости от результата делайте выбор.

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

Главное, что необходимо понять - Вы можете запрограммировать ЛЮБУЮ функциональность. По большому счету, можно писать программы любой сложности. Единственное ограничение - это, для использования таких программ необходимо запускать ЛоадРаннер.
:ok:
  • 0
Гринкевич Сергей

#7 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 22 сентября 2005 - 19:04

Единственное ограничение - это, для использования таких программ необходимо запускать ЛоадРаннер.

Или, по крайней мере, такие программы должны запускаться из командной строки и сохранять результаты вычислений в текстовом файле, чтобы к ним можно было получить доступ из LR скрипта.
  • 0
Дмитрий Шевченко

HP Software

#8 Green

Green

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 233 сообщений
  • ФИО:Гринкевич Сергей
  • Город:Москва

Отправлено 23 сентября 2005 - 06:07

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

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

Пришлось писать свою функциональность, что бы реализовать динамическое обновление. В скрипте получали User ID и в зависимости от этого значения выбирали заранее подготовленные данные.

Тут есть одна тонкость. User ID может быть предсказуемым только в случае, если в момент добавления скрипта в контроллер сразу же указывается нужное количество виртуальных пользователей. Тогда их ID всегда начинается с 1 и имеет шаг - 1. Если же корректировать количество пользователей в скрипте в сторону увеличения непосредственно в контроллере, то ID могут иметь не предсказуемое значение.
  • 0
Гринкевич Сергей

#9 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 24 сентября 2005 - 06:33

Считываение заранее подготовленных данных при параметризации происходит при старте скрипта.

Я бы не назвал это недостатком. Если считывать данные в процессе работы скрипта, то это повлияет на время его выполнения, а следовательно и на точность получаемых измерений.

Пришлось писать свою функциональность, что бы реализовать динамическое обновление.

Не знаю, конечно, деталей стоявшей перед вами задачи, но похоже на то, что вы изобретали велосипед. Вы, естественно, не первый, кто сталкивается с проблемой динамического обновления/получения данных в процессе работы скрипта. Есть такая штука, как Virtual Table Server (VTS), которая подобные задачи и решает. Отдельной лицензии не требует и свободно скачивается с нашего CSO сайта.
  • 0
Дмитрий Шевченко

HP Software

#10 Green

Green

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 233 сообщений
  • ФИО:Гринкевич Сергей
  • Город:Москва

Отправлено 26 сентября 2005 - 07:19

Не знаю, конечно, деталей стоявшей перед вами задачи, но похоже на то, что вы изобретали велосипед. Вы, естественно, не первый, кто сталкивается с проблемой динамического обновления/получения данных в процессе работы скрипта. Есть такая штука, как Virtual Table Server (VTS), которая подобные задачи и решает. Отдельной лицензии не требует и свободно скачивается с нашего CSO сайта.

Просмотр сообщения


Действительно, раньше про такое не слышал.
А можно ли получить линк на детальную информацию как о библиотеке, так и о самом Virtual Table Server?

Спасибо.
  • 0
Гринкевич Сергей

#11 MarinaK

MarinaK

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

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


Отправлено 26 сентября 2005 - 07:59

В базе знаний Меркури статья # 3456 "How to setup Virtual Table Server (VTS)", оттуда же и скачиваешь.
  • 0


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

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