4.2. Логирование действий пользователя (recording).
Данная функция была введена мной в качестве API для создания утилиты, предназначенной для автогенерации скриптов. (аналогично функции Record в IBM Rational XDE Tester).Производится логирование следующих действий:
-Была произведена загрузка страницы в браузер.
-Пользователь кликнул по html объекту на странице.
-Пользователь навел курсор на html элемент.
-Пользователь пользователь выбрал значение в Select или ввел текст в текстовое поле(textarea, input type=text, input type=pass).
В API для Internet Explorer мне не удалось найти события, которые возникают при появлении javascript окон Alert и Confirm.Поэтому, в логе эти события отражены не будут. Однако об их появлении можно узнать из контекста. (Если кликнули по ссылке Delete,наверное, должно появиться javascript окно “Are you sure…”(это верно для web приложения netcracker)).
Логирование экземпляр BHO начинает после отправки команды 17 java программой.
Логи накапливаются объектом Browser Helper Object,и отсылаются java программе после получения команды 18.Структура xml файла зависит от типа действия:
1.“В браузер была загружена страница”:
<pageLoad url=”загруженная в браузер страница”>
2.Действия пользователя
<action type=<!--тип действия--> value=<!--указанное значение(если данный атрибут есть)--> srcElement=<!--html код исходного html элемента--> <!—srcDocument--> >
Type может быть focusout, click, mouseover.
Событие Focusout фиксируется только для типов HTML объектов “input type=text”, ”input type=pass”, “textarea”, “select”. Событие генерируется после потери фокуса ввода html объектом.
“click” – событие генерируется после клика левой клавишей мыши на объекте.
“mouseover” – генерируется, после наведения курсора на html объект. Событие фиксируется только для тех объектов, у которых определен обработчик “onmouseover”.
Параметр value содержит значение, которое было введено в поле редактирования. Данный параметр определен только для полей редактирования и события “focusout”.
Параметр srcElement содержит html код html элемента.
Параметр srcDocument содержит html код загруженного в браузер документа.
Собственно, автоматическая генерация скриптов автоматизированного тестирования на основании логов не является частью данного проекта, и должна быть реализована пользователем данной системы (разработана силами той организации, где она будет внедрена), если планируется эту функциональность использовать.