.. _gsauto_ug_server_setup: Настройка сервера приложений ============================ Библиотека `gs-automation` требует специальной настройки :term:`сервера приложений`. - Если вы используете локальный сервер приложений, то вам необходимо самостоятельно выполнить его настройку. - Если вы подключаетесь к серверу приложений, размещенному на отдельном стенде, то настройку должен выполнить администратор. В :term:`конфигурационном файле <Конфигурация сервера>` сервера приложений должны быть установлены параметры клиента автоматизации и определены роли пользователей, от имени которых библиотека будет управлять :term:`пользовательскими сеансами`. .. note:: Библиотека выполняет завершение пользовательского сеанса в случае аварийного завершения тестов. Библиотека предоставляет возможность завершить пользовательский сеанс, если это нужно в рамках тестового сценария. .. seealso:: - Спецификация: :ref:`gsauto_serverconfig` - Справочник API: :java:meth:`SessionServiceClient#kill() ` - Справочник API: :java:meth:`SessionsServiceClient#kill() ` Параметры клиента автоматизации ------------------------------- Взаимодействие библиотеки с сервером приложений регулируется тремя параметрами конфигурации сервера приложений: 1. :xsd:attr:`Configuration.Client.Automation.metaDataAttributes` 2. :xsd:attr:`Configuration.Client.Automation.jexlExecution` 3. :xsd:attr:`Configuration.Client.Automation.operExecution` Тип значений параметров — `Boolean`, значение по умолчанию — ``false``. metaDataAttributes `````````````````` Этот параметр управляет внедрением служебных меток (``data-атрибутов``) в веб-интерфейс приложения. Служебные метки помогают библиотеке находить ключевые элементы интерфейса на отображаемых страницах и взаимодействовать с ними. Если значение параметра равно ``false``, библиотека не сможет взаимодействовать с интерфейсом. .. attention:: Установка значения ``true`` обязательно для использования библиотеки. .. seealso:: - API: :java:type:`ru.bitec.gs.automation.client.ui.DataAttributes ` jexlExecution ````````````` Этот параметр разрешает библиотеке отправку jexl-скриптов на сервер приложений. Если значение равно ``true``, сервер приложений добавляет в интерфейс пользователя специальные механизмы, обеспечивающие: - Передачу текста jexl-скрипта на сервер. - Ожидание завершения выполнения jexl-скрипта. - Получение результата выполнения jexl-скрипта. Эта функция библиотеки не обязательна и значение параметра выбирается исходя из требований конкретной задачи. .. seealso:: - API: :java:meth:`Selection#executeJexl(String) ` - Руководство пользователя: :ref:`gsauto_ug_annotations` operExecution ````````````` Этот параметр разрешает библиотеке запрашивать выполнение :term:`бизнес-операций <Операция>`. Если значение равно ``true``, сервер приложений добавляет в интерфейс пользователя специальные механизмы, обеспечивающие: - Инициировать запросы на выполнение бизнес-операций по их названию. - Ожидать завершения выполнения бизнес-операций. - Получать результат выполнения бизнес-операций. Эта функция библиотеки не обязательна и значение параметра выбирается исходя из требований конкретной задачи. .. seealso:: - API: :java:meth:`Selection#executeOperation(String) ` - Руководство пользователя: :ref:`gsauto_ug_annotations` Пример ------ Значения параметров клиента автоматизации задаются в :term:`конфигурации сервера <Конфигурация сервера>` в разделе :xsd:class:`Configuration.Client.Automation`: .. code-block:: xml :caption: global3.config.xml Здесь показаны значения параметров сервера приложений, разрешающих библиотеке взаимодействовать с интерфейсом, выполнять jexl-скрипты и бизнес-операции. Роль для управления пользовательскими сеансами ---------------------------------------------- Библиотека позволяет управлять :term:`пользовательскими сеансами`. Для этого в :term:`конфигурации сервера <Конфигурация сервера>` в разделе :xsd:class:`Configuration.Security` в подразделе :xsd:class:`Configuration.Users` соответствующему пользователю :xsd:class:`Configuration.Users.User` должна быть назначена роль ``http-monitor``. Пример назначения роли: .. code-block:: xml :caption: global3.config.xml Пользователю ``admin`` назначена требуемая роль ``http-monitor``. Такие пользователи регистрируются в процессе :ref:`создания объекта клиента`. .. seealso:: - API: :java:meth:`SessionsServiceClient#kill() ` - API: :java:meth:`SessionServiceClient#kill() ` Версия сервера приложений ------------------------- Работа библиотеки зависит от функциональности, предоставляемой сервером приложений. Версии библиотеки коррелируют с версиями сервера приложений. При подключении к серверу приложений библиотека проверяет его версию и прекращает работу, если обнаруживает несоответствие версий (функциональность сервера не соответствует внутренним требованиям библиотеки). .. seealso:: - Спецификация: :ref:`gsauto_versions` - API: :java:type:`ru.bitec.gs.automation.util.Version `