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

Фотография

ACT - Microsoft Application Center Test


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

#1 Vova

Vova

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

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Владимир

Отправлено 02 ноября 2005 - 16:22

ACT - Microsoft Application Center Test
Нагрузочное тестирование Web приложения
Автоматически записал скрипт.
Запустил - скрипт выдал ошибки HTTP
При детальном анализе выяснилось, что неверно (с ошибками HTTP) выполняются ранее автоматически сгенерированные процедуры, содержащие конструкцию __VIEWSTATE ...
Т.е. ошибка возникает, когда идет сравнение чего либо (ранее полученного на стадии генерации теста) с тем, что возвращает __VIEWSTATE, а возвращает она все время разное, т.к. результат зависит от текущего состояния сервера. Каким образом можно решить данную проблему и где в документации к АСT описана данная ситуация и пути выхода из нее?
Заранее спасибо за ответ.
  • 0

#2 Dmitry_NJ

Dmitry_NJ

    Консультант

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

Отправлено 02 ноября 2005 - 18:11

Каким образом можно решить данную проблему...

Взять текущее значение __VIEWSTATE в run time из возвращаемого сервером HTML кода страницы и использовать это значение в последующем HTTP request'е.

...и где в документации к АСT описана данная ситуация и пути выхода из нее?

Без понятия.
  • 0
Дмитрий Шевченко

HP Software

#3 Vova

Vova

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

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Владимир

Отправлено 07 ноября 2005 - 13:29

Спасибо за ответ, Дмитрий!
Как можно взять в run time из возвращаемого сервером HTML кода страницы значение _VIEWSTATE?
Set vs=oResponse.Body. а дальше как?
  • 0

#4 Dmitry_NJ

Dmitry_NJ

    Консультант

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

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

Я знаю как сделать то, что вам надо, в LoadRunner (по иронии судьбы, как раз в данный момент занимаюсь корреляцией значений __VIEWSTATE в WAP приложении, построенном на ASP.NET). В LR это делается на раз. А ACT, извините, это "качество не нашей мануфактуры" :smile: Не в том смысле, что этого нельзя сделать. Может быть и можно. Я просто с ACT не работаю.
  • 0
Дмитрий Шевченко

HP Software

#5 mosquito

mosquito

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

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

Отправлено 10 ноября 2005 - 15:03

АСТ еще то гавно. Полльзуюсь WAPTом, и доволен...
  • 0

#6 Pet[EG]

Pet[EG]

    Активный участник

  • Members
  • PipPip
  • 86 сообщений
  • ФИО:Петраш А.Ю.
  • Город:Харьков, Укр

Отправлено 10 ноября 2005 - 17:55

Спасибо за ответ, Дмитрий!
Как можно взять в run time из возвращаемого сервером HTML кода страницы значение _VIEWSTATE?
Set vs=oResponse.Body. а дальше как?

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

К сожалению под рукой нет ACT, потому просто идеологию вам поясню.
Далее вы в vs ищете функцией instr такую вот строку ="__VIEWSTATE" и потом функцией mid откусываете все от символов value=" и до следующей закрывающей кавычки

Это у вас и будет текущее значение viewstate.
Желательно чтоб вы код сами написали ;) Полезнее будет, чем я за вас его напишу :)

2mosquito
И как это сделать в WAPT? конструктива я что-то не вижу ;)

ЗЫ: более понятно пояснил двумя постингами ниже
  • 0

#7 Green

Green

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

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

Отправлено 11 ноября 2005 - 07:37

Спасибо за ответ, Дмитрий!
Как можно взять в run time из возвращаемого сервером HTML кода страницы значение _VIEWSTATE?
Set vs=oResponse.Body. а дальше как?

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

К сожалению под рукой нет ACT, потому просто идеологию вам поясню.
Далее вы в vs ищете функцией instr такую вот строку "VIEWSTATE=" и потом функцией mid откусываете все от символа "=" и до ";"

Это у вас и будет текущее значение viewstate.
Желательно чтоб вы код сами написали ;) Полезнее будет, чем я за вас его напишу :)

2mosquito
И как это сделать в WAPT? конструктива я что-то не вижу ;)

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


К сожалению, у меня проблемы с компом, так что в данный момент посмотреть не могу.

Но Pet[EG­] прав. Viewstate - это простое текстовое поле. Что бы его получить, надо вырезать его из общего текста страницы и после этого добавить в запрос.

Хотя, если быть полностью откровенным, то viewstate это не простое текстовое поле, а полноценный xml, в который зашито состояние объектов страницы, а так же еще может быть куча другой информации. Существуют специальные просмоторщики viewstate-ов, где их можно расскрыть как иерархическую структуру. Но на методике использования viewstate-ов в АСТ этот факт никак не сказывается.
  • 0
Гринкевич Сергей

#8 Pet[EG]

Pet[EG]

    Активный участник

  • Members
  • PipPip
  • 86 сообщений
  • ФИО:Петраш А.Ю.
  • Город:Харьков, Укр

Отправлено 11 ноября 2005 - 08:44

Ой, прошу прощеия заработался :) Прошлый постинг считать недействительным :) Идея правильна, но я забыл как это выглядит в HTML-е

Поле с viewstate в вашем Response.Body выглядит так:
<input type="hidden" name="__VIEWSTATE" value="dDwtMTUxOTQ5MjUxMDs7bDxfY2hlY2tCb3g7Pj6nqda/h4oIn9jBksWtoYFxHPQnqQ==" />
вот это самое значение value вам и нужно :)
то бишь находите instr-ом вот такую конструкцию:
<input type="hidden" name="__VIEWSTATE" value="

А дальше уже вытягиваете все до закрывающей кавычки и будет вам счастье, то бишь обычный viewstate :)

PS: и кстати о птичках, если мне память не изменяет то такая функция уже написана в одном из примеров к ACT :)
  • 0

#9 Vova

Vova

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

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Владимир

Отправлено 14 ноября 2005 - 15:12

С __VIEWSTATE разобрался, теперь куски теста с __VIEWSTATE отрабатывают нормально..., НО!
Помимо __VIEWSTATE переменные, содержащие текущие значения настроек среды сервера могут передаваться в рамках других конструкций...
Есть ли какой то разумный способ (без детального анализа тестируемого приложения и ручного переписывания кода АСТ теста) в автоматическом режиме генерировать АСТ тесты для WEB приложения, использующего динамические запросы? Или АСТ можно использовать только для тестирования приложений, использующих статические запросы?
  • 0

#10 Pet[EG]

Pet[EG]

    Активный участник

  • Members
  • PipPip
  • 86 сообщений
  • ФИО:Петраш А.Ю.
  • Город:Харьков, Укр

Отправлено 14 ноября 2005 - 15:55

С __VIEWSTATE разобрался, теперь куски теста с __VIEWSTATE отрабатывают нормально..., НО!
Помимо __VIEWSTATE переменные, содержащие текущие значения настроек среды сервера могут передаваться в рамках других конструкций...
Есть ли какой то разумный способ (без детального анализа тестируемого приложения и ручного переписывания кода АСТ теста) в автоматическом режиме генерировать АСТ тесты для WEB приложения, использующего динамические запросы? Или АСТ можно использовать только для тестирования приложений, использующих статические запросы?

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

не совсем понял вопрос.
Вам в любом случае нужно переписывать код под ваше приложение. А насколько вам нужно автоматизировать, это уже вы решаете :)
  • 0

#11 Dmitry_NJ

Dmitry_NJ

    Консультант

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

Отправлено 14 ноября 2005 - 20:37

С __VIEWSTATE разобрался, теперь куски теста с __VIEWSTATE отрабатывают нормально..., НО!
Помимо __VIEWSTATE переменные, содержащие текущие значения настроек среды сервера могут передаваться в рамках других конструкций...
Есть ли какой то разумный способ (без детального анализа тестируемого приложения и ручного переписывания кода АСТ теста) в автоматическом режиме генерировать АСТ тесты для WEB приложения, использующего динамические запросы? Или АСТ можно использовать только для тестирования приложений, использующих статические запросы?

Соотношение ручных/автоматических усилий по корректной обработке всех динамических значений в скрипте зависит от "взрослости" используемого тула. Например, в LoadRunner уже есть порядка полутора десятков встроенных библиотек, позволяющих автоматически выполнять корреляцию динамических значений в наиболее популярных используемых средах (Oracle Apps, SAP Enterprise Portal, Siebel, PeopleSoft и т.д.). Если хорошо знаете специфику тестируемого приложения, то вы также можете создавать свои корреляционные правила и создавать из них свои собственные библиотеки, что особенно полезно при командной разработке нагрузочных тестов, когда один человек сделал такую библиотеку, а другие ее просто проимпортировали и после записи скрипта соответствующие динамические значения уже должным образом скоррелированы.

Вобщем еще раз хочу повторить, что многое зависит от того, каким тулом вы пользуетесь - enterprise-level или quick-and-dirty.
  • 0
Дмитрий Шевченко

HP Software


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

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