Все модули BAS расположены по пути apps\Номер.Версии\modules
.
В данной папке вы можно найти стандартные плагины, которые использует программа, и свои личные модули.
Каждый модуль имеет отдельную папку, внутри которой расположены все файлы, требуемые для его работы.
Название папки с модулем может быть любым, но рекомендуется называть её так же, как и сам плагин, чтобы избежать путаницы и быстро найти его среди прочих модулей.
В Browser Automation Studio, в верхнем контекстном меню вы можете найти опцию Менеджер модулей. С помощью него вы можете:
Минимальный набор файлов следующий:
Если вы используете только Браузер и действие у нас по сути одно, то логика размещается в файле .js формата. Типичный для данного случая модуль AjaxReCaptcha.
Основной файл - browser.js. Экшенов тут нет, т.е весь процесс происходит без использования конструктора действий. Этот файл подключается к модулю через манифест, в разделе browser.
Если мы используем C++, то, кроме прочего, мы должны добавить .dll файл, библиотеку, в которой содержится вся основная логика. Типичный для данного случая модуль CurlWrapper.
Основной файл здесь - curlwrapper.dll. Экшенов тут так же нет. Этот файл подключается к модулю через манифест, в разделе dll.
Если мы используем логику, которая базируется на JS, то удобнее всего размещать код в отдельном файле, если действий очень много. А в действиях уже вызывать нужный код из этого файла. Типичный для данного случая модуль ReCaptcha2.
Основной файл здесь - engine.js. В данном модуле уже присутствуют экшены, которые возможно будет увидеть через конструктор. Этот файл подключается к модулю через манифест, в разделе engine.
Случаи могут быть самыми разными, каждый зависит от ситуации. Прелесть модульной системы в том, что мы можем создавать как простые функции, работающие по принципу одного из примеров, а так же комбинировать все эти примеры и создавать высоконагруженные, сложные системы.
Её мы будем видеть в разделе конструктора, на экшенах в виде маленькой иконки, в поиске по действиям и так далее.
Данный файл отвечает за общие настройки модуля, его локализацию.
Именно через него подключаются все зависимости, о которых мы говорили выше. Именно он содержит конечную информацию об используемых действиях. То есть, даже если мы создали все файлы действия, но не добавили его в манифест - его мы в BAS не увидим
Данные файлы содержат всю основную логику работы каждого конкретного действия.
Структура файла:
имя_действия_code.js
- содержит код, который будет добавлен в ваш скрипт при использовании действия
имя_действия_select.js
- содержит код, который связывает интерфейс и конечные действия, а так же проверки для переменных и многое другое.
имя_действия_interface.js
- содержит код интерфейса, т.е. именно то, что мы с вами видим в конструкторе.
Данный файл отвечает за логику JS кода, который будет выполняться в разных экшенах.
Данный файл отвечает за логику С++ кода, который будет выполняться в разных экшенах.