Работа с модальным окном
Web Click&Script : HP Load Runner
При работе с модальными окнами в технологии Web Click and Script может не происходить запись трафика для операций, выполняемых в самом модальном окне. Напомним, что под модальным окном понимается всплывающее диалоговое окно, вызываемое методом ShowModalDialog в javascript-e. Технологией, по которой сделано Приложение, использующееся в качестве примера, является ASP.Net, это значит, что в данное модальное окно загружается динамически сформированная на сервере форма (технология Active Server Page). Фактически запись трафика прекращается после отработки оператора, вызывающего модальное окно. В нашем случае это:
web_text_link("Запросить баланс из банка",
"Snapshot=t91.inf",
DESCRIPTION,
"Text= Запросить баланс из банка ",
ACTION,
"UserAction=Click",
LAST);
Предлагаемое решение заключается в регистрации, так называемой call back функции, в которую и включаются Click and Script операторы обработки полей и кнопок формы, расположенной в модальном окне. Регистрация call back функции происходит с использованием оператора web_reg_dialog, применить который необходимо перед использованием оператора непосредственно вызывающего модальное окно. Вот так:
web_reg_dialog(
DESCRIPTION,
"Type=Modal",
ACTION,
"SetCallback=ModalDialog1",
LAST);
web_text_link("Запросить баланс из банка",
"Snapshot=t91.inf",
DESCRIPTION,
"Text= Запросить баланс из банка",
ACTION,
"UserAction=Click",
LAST);
А теперь пример обработки полей и кнопок внутри call back функции. Реализовано в виде добавленного в скрипт файла с именем МodalDialog1.c и одной функцией ModalDialog1(). Разумеется, что кусок кода в файл ModalDialog1 приходится добавлять вручную, зная идентификаторы или имена объектов находящихся на форме внутри модального окна.
ModalDialog1()
{
...
web_edit_field("pin code",
"Snapshot=t21117.inf",
DESCRIPTION,
"Type=password",
"name=PinCode",
"WindowType=Modal",
ACTION,
"SetValue=хххх",
LAST);
web_button("btnSubmitModalDialog",
"Snapshot=t21118.inf",
DESCRIPTION,
"Type=submit",
"WindowType=Modal",
"name=btnSubmit",
LAST);
...
Return 0;
}
Кнопка с названием “btnSubmit” выполняет submit формы модального окна.
Остается добавить, что в этом случае необходимо присутствие в скрипте (*.h) файла (modal_dialog_callbacks.h) с определениями.
#ifndef _MODALDIALOGCALLBACKS_H
#define _MODALDIALOGCALLBACKS_H
#include "ModalDialog1.c"
#endif // _MODALDIALOGCALLBACKS_H
Файл globals.h также должен учитывать внесенные в скрипт изменения.
#ifndef _GLOBALS_H
#define _GLOBALS_H
//-----------------------------------------------------
// Include Files
#include "lrun.h"
#include "web_api.h"
#include "lrw_custom_body.h"
#include "modal_dialog_callbacks.h"
//-----------------------------------------------------
// Global Variables
#endif // _GLOBALS_H
Еще раз замечу, что при использовании операторов, выполняющих операции в модальном окне необходимо указывать тип окна – модальное (“WindowType=Modal”).
При работе с модальными окнами в технологии Web Click and Script может не происходить запись трафика для операций, выполняемых в самом модальном окне. Напомним, что под модальным окном понимается всплывающее диалоговое окно, вызываемое методом ShowModalDialog в javascript-e. Технологией, по которой сделано Приложение, использующееся в качестве примера, является ASP.Net, это значит, что в данное модальное окно загружается динамически сформированная на сервере форма (технология Active Server Page). Фактически запись трафика прекращается после отработки оператора, вызывающего модальное окно. В нашем случае это:
web_text_link("Запросить баланс из банка",
"Snapshot=t91.inf",
DESCRIPTION,
"Text= Запросить баланс из банка ",
ACTION,
"UserAction=Click",
LAST);
Предлагаемое решение заключается в регистрации, так называемой call back функции, в которую и включаются Click and Script операторы обработки полей и кнопок формы, расположенной в модальном окне. Регистрация call back функции происходит с использованием оператора web_reg_dialog, применить который необходимо перед использованием оператора непосредственно вызывающего модальное окно. Вот так:
web_reg_dialog(
DESCRIPTION,
"Type=Modal",
ACTION,
"SetCallback=ModalDialog1",
LAST);
web_text_link("Запросить баланс из банка",
"Snapshot=t91.inf",
DESCRIPTION,
"Text= Запросить баланс из банка",
ACTION,
"UserAction=Click",
LAST);
А теперь пример обработки полей и кнопок внутри call back функции. Реализовано в виде добавленного в скрипт файла с именем МodalDialog1.c и одной функцией ModalDialog1(). Разумеется, что кусок кода в файл ModalDialog1 приходится добавлять вручную, зная идентификаторы или имена объектов находящихся на форме внутри модального окна.
ModalDialog1()
{
...
web_edit_field("pin code",
"Snapshot=t21117.inf",
DESCRIPTION,
"Type=password",
"name=PinCode",
"WindowType=Modal",
ACTION,
"SetValue=хххх",
LAST);
web_button("btnSubmitModalDialog",
"Snapshot=t21118.inf",
DESCRIPTION,
"Type=submit",
"WindowType=Modal",
"name=btnSubmit",
LAST);
...
Return 0;
}
Кнопка с названием “btnSubmit” выполняет submit формы модального окна.
Остается добавить, что в этом случае необходимо присутствие в скрипте (*.h) файла (modal_dialog_callbacks.h) с определениями.
#ifndef _MODALDIALOGCALLBACKS_H
#define _MODALDIALOGCALLBACKS_H
#include "ModalDialog1.c"
#endif // _MODALDIALOGCALLBACKS_H
Файл globals.h также должен учитывать внесенные в скрипт изменения.
#ifndef _GLOBALS_H
#define _GLOBALS_H
//-----------------------------------------------------
// Include Files
#include "lrun.h"
#include "web_api.h"
#include "lrw_custom_body.h"
#include "modal_dialog_callbacks.h"
//-----------------------------------------------------
// Global Variables
#endif // _GLOBALS_H
Еще раз замечу, что при использовании операторов, выполняющих операции в модальном окне необходимо указывать тип окна – модальное (“WindowType=Modal”).
Комментарии: 1:
ищу хостинг http://hosting.miheeff.ru хостинг ищу хостинг
Автор:
hosting.web.hosti, В
25 декабря 2009 г. в 08:56
Отправить комментарий
Подпишитесь на каналы Комментарии к сообщению [Atom]
<< Главная страница