ACT - Microsoft Application Center Test
#1
Отправлено 02 ноября 2005 - 16:22
Нагрузочное тестирование Web приложения
Автоматически записал скрипт.
Запустил - скрипт выдал ошибки HTTP
При детальном анализе выяснилось, что неверно (с ошибками HTTP) выполняются ранее автоматически сгенерированные процедуры, содержащие конструкцию __VIEWSTATE ...
Т.е. ошибка возникает, когда идет сравнение чего либо (ранее полученного на стадии генерации теста) с тем, что возвращает __VIEWSTATE, а возвращает она все время разное, т.к. результат зависит от текущего состояния сервера. Каким образом можно решить данную проблему и где в документации к АСT описана данная ситуация и пути выхода из нее?
Заранее спасибо за ответ.
#2
Отправлено 02 ноября 2005 - 18:11
Взять текущее значение __VIEWSTATE в run time из возвращаемого сервером HTML кода страницы и использовать это значение в последующем HTTP request'е.Каким образом можно решить данную проблему...
Без понятия....и где в документации к АСT описана данная ситуация и пути выхода из нее?
#3
Отправлено 07 ноября 2005 - 13:29
Как можно взять в run time из возвращаемого сервером HTML кода страницы значение _VIEWSTATE?
Set vs=oResponse.Body. а дальше как?
#4
Отправлено 07 ноября 2005 - 19:05
#5
Отправлено 10 ноября 2005 - 15:03
#6
Отправлено 10 ноября 2005 - 17:55
К сожалению под рукой нет ACT, потому просто идеологию вам поясню.Спасибо за ответ, Дмитрий!
Как можно взять в run time из возвращаемого сервером HTML кода страницы значение _VIEWSTATE?
Set vs=oResponse.Body. а дальше как?
Далее вы в vs ищете функцией instr такую вот строку ="__VIEWSTATE" и потом функцией mid откусываете все от символов value=" и до следующей закрывающей кавычки
Это у вас и будет текущее значение viewstate.
Желательно чтоб вы код сами написали ;) Полезнее будет, чем я за вас его напишу :)
2mosquito
И как это сделать в WAPT? конструктива я что-то не вижу ;)
ЗЫ: более понятно пояснил двумя постингами ниже
#7
Отправлено 11 ноября 2005 - 07:37
К сожалению под рукой нет ACT, потому просто идеологию вам поясню.Спасибо за ответ, Дмитрий!
Как можно взять в run time из возвращаемого сервером HTML кода страницы значение _VIEWSTATE?
Set vs=oResponse.Body. а дальше как?
Далее вы в vs ищете функцией instr такую вот строку "VIEWSTATE=" и потом функцией mid откусываете все от символа "=" и до ";"
Это у вас и будет текущее значение viewstate.
Желательно чтоб вы код сами написали ;) Полезнее будет, чем я за вас его напишу :)
2mosquito
И как это сделать в WAPT? конструктива я что-то не вижу ;)
К сожалению, у меня проблемы с компом, так что в данный момент посмотреть не могу.
Но Pet[EG] прав. Viewstate - это простое текстовое поле. Что бы его получить, надо вырезать его из общего текста страницы и после этого добавить в запрос.
Хотя, если быть полностью откровенным, то viewstate это не простое текстовое поле, а полноценный xml, в который зашито состояние объектов страницы, а так же еще может быть куча другой информации. Существуют специальные просмоторщики viewstate-ов, где их можно расскрыть как иерархическую структуру. Но на методике использования viewstate-ов в АСТ этот факт никак не сказывается.
#8
Отправлено 11 ноября 2005 - 08:44
Поле с viewstate в вашем Response.Body выглядит так:
<input type="hidden" name="__VIEWSTATE" value="dDwtMTUxOTQ5MjUxMDs7bDxfY2hlY2tCb3g7Pj6nqda/h4oIn9jBksWtoYFxHPQnqQ==" />вот это самое значение value вам и нужно :)
то бишь находите instr-ом вот такую конструкцию:
<input type="hidden" name="__VIEWSTATE" value="
А дальше уже вытягиваете все до закрывающей кавычки и будет вам счастье, то бишь обычный viewstate :)
PS: и кстати о птичках, если мне память не изменяет то такая функция уже написана в одном из примеров к ACT :)
#9
Отправлено 14 ноября 2005 - 15:12
Помимо __VIEWSTATE переменные, содержащие текущие значения настроек среды сервера могут передаваться в рамках других конструкций...
Есть ли какой то разумный способ (без детального анализа тестируемого приложения и ручного переписывания кода АСТ теста) в автоматическом режиме генерировать АСТ тесты для WEB приложения, использующего динамические запросы? Или АСТ можно использовать только для тестирования приложений, использующих статические запросы?
#10
Отправлено 14 ноября 2005 - 15:55
не совсем понял вопрос.С __VIEWSTATE разобрался, теперь куски теста с __VIEWSTATE отрабатывают нормально..., НО!
Помимо __VIEWSTATE переменные, содержащие текущие значения настроек среды сервера могут передаваться в рамках других конструкций...
Есть ли какой то разумный способ (без детального анализа тестируемого приложения и ручного переписывания кода АСТ теста) в автоматическом режиме генерировать АСТ тесты для WEB приложения, использующего динамические запросы? Или АСТ можно использовать только для тестирования приложений, использующих статические запросы?
Вам в любом случае нужно переписывать код под ваше приложение. А насколько вам нужно автоматизировать, это уже вы решаете :)
#11
Отправлено 14 ноября 2005 - 20:37
Соотношение ручных/автоматических усилий по корректной обработке всех динамических значений в скрипте зависит от "взрослости" используемого тула. Например, в LoadRunner уже есть порядка полутора десятков встроенных библиотек, позволяющих автоматически выполнять корреляцию динамических значений в наиболее популярных используемых средах (Oracle Apps, SAP Enterprise Portal, Siebel, PeopleSoft и т.д.). Если хорошо знаете специфику тестируемого приложения, то вы также можете создавать свои корреляционные правила и создавать из них свои собственные библиотеки, что особенно полезно при командной разработке нагрузочных тестов, когда один человек сделал такую библиотеку, а другие ее просто проимпортировали и после записи скрипта соответствующие динамические значения уже должным образом скоррелированы.С __VIEWSTATE разобрался, теперь куски теста с __VIEWSTATE отрабатывают нормально..., НО!
Помимо __VIEWSTATE переменные, содержащие текущие значения настроек среды сервера могут передаваться в рамках других конструкций...
Есть ли какой то разумный способ (без детального анализа тестируемого приложения и ручного переписывания кода АСТ теста) в автоматическом режиме генерировать АСТ тесты для WEB приложения, использующего динамические запросы? Или АСТ можно использовать только для тестирования приложений, использующих статические запросы?
Вобщем еще раз хочу повторить, что многое зависит от того, каким тулом вы пользуетесь - enterprise-level или quick-and-dirty.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных