Выпущена 22.2.0 версия BrowserAutomationStudio



  • Обновление целиком посвящено улучшению системы модулей.

    Что такое модули?

    Модули позволяют расширять функционал BAS. Каждый модуль содержит набор действий, например, есть модуль для работы с регулярными выражениями, списками, и т. д.

    Также модули позволяю внедрять код в движок BAS и в движок браузера.

    Каким образом модульная система была улучшена?

    Добавлена возможность создавать собственные модули.

    После обновления BAS позволяет превратить проект с набором функций в модуль. Выбранные функции будут преобразованы в новые действия. Все описания, которые вы ввели при создании функции, будут перенесены в пользовательский интерфейс нового модуля. С помощью нового диалога вы можете задать описание нового модуля и выбрать иконку, версию, и т. д. Проект, который был использован для создания модуля, можно использовать повторно, например, для обновления модуля, так как он сохраняет все введенные настройки. Разные функции из одного модуля могут вызывать друг друга.

    Для создания нового модуля зайдите в менеджер модулей и нажмите на кнопку "Создать новый модуль".

    Возможность устанавливать свои или чужие модули.

    BAS разрешает устанавливать неограниченное количество модулей тем самым расширяя функционал. Установка происходит для текущего экземпляра BAS, это значит, что новые модули станут доступны в любом проекте над которым вы работаете. Пользователи могут обмениваться модулями, для этого, нужно создать модуль используя кнопку "Создать новый модуль", затем передать файл получившийся в результате другому пользователю. Сделать это не трудно, поскольку модуль является zip архивом. Затем его можно установить используя кнопку "Установить модуль".

    alt text

    Использование модулей в скомпилированных приложениях.

    Теперь новые модули можно использовать не только в экземпляре BAS, где они были установлены, но и в скомпилированном приложении. Для этого нет необходимости производить какие-то дополнительные действия. BAS автоматически перенесет нужную информацию в проект.

    Передача проектов с модулями.

    Давайте рассмотрим такой пример, вы передаете проект другому разработчику для редактирования, у вас модули установлены, у него - нет. В этом случае, он по прежнему сможет запускать проект и даже редактировать те действия, которых у него по сути нет. Достигается это за счет механизма "внешних модулей". После смены проекта внешние модули исчезнут. Допускается передача проектов неограниченное количество раз.

    BAS загружает только те модули, которые используются в проекте.

    Вы можете устанавливать десятки модулей, если при этом использоваться будут не все, то BAS не будет "раздувать" текущий проект неиспользуемыми модулями. Софт будет автоматически анализировать проект и просто не подключать лишнее. Это не касается режима записи, потому что в нем проект изменяется и потенциально любой установленный модуль может быть использован.

    Существующий функционал BAS может быть изменен.

    Теперь можно менять функционал содержащийся в нативных модулях. Для этого необходимо:

    1. Скопировать содержимое нужного модуля из папки C:\Users\%USERNAME%\AppData\Roaming\BrowserAutomationStudioTesting\apps\22.2.0\modules в папку C:\Users\%USERNAME%\AppData\Roaming\BrowserAutomationStudioTesting\apps\22.2.0\custom.
    2. Изменить содержимое модуля в папке custom.

    Все изменения сохранятся в скомпилированном приложении и при передаче проекта.

    Здесь может пригодится документация по структуре модулей, которую написал наш пользователь @Oyasumi-Punpun

    https://cheshirecaat.github.io/BAS.Modules/

    Видео можно данного процесса найти здесь https://www.youtube.com/watch?v=sLNxrcZMOA0&t=3012s

    Заменить можно любые типы файлов, не только скрипты. Например, возможно заменить базу к которой содержится информация об ip адресах.

    Node.js можно использовать в модулях.

    Существует возможность использовать не только стандартные действия BAS, но и код на Node.js, включая пакеты из NPM. BAS будет автоматически разрешать конфликты для разных версиях NPM модулей в пользу новых версий. Это дает возможность создавать обвертки для NPM модулей в виде модулей BAS с пользовательским интерфейсом. Например, в обучающем видео мы начали создавать такую обвертку для FTP клиента.

    https://www.youtube.com/watch?v=sLNxrcZMOA0&t=2092s

    Код модуля можно вызвать из Node.js.

    Модули добавляют новые действия, которые по сути являются BAS функциями и они подчиняются абсолютно тем же правилам, что и обычные BAS функции. Например, их можно вызвать из Node.js используя метод BAS_FUNCTION. Название функции определяется как название модуля + нижнее подчеркивание + название действия. Например, если название модуля - TestModule, а название действия TestAction, то название функции будет TestModule_TestAction.

    Видео с таймкодом https://www.youtube.com/watch?v=sLNxrcZMOA0&t=2740s

    Интерфейс менеджера модулей был доработан.

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

    https://i.imgur.com/w1gdNo2.png

    Установка модулей в ручном режиме.

    Чтобы установить модуль без использования инсталлятора, необходимо скопировать его содержимое в папку

    C:\Users\%USERNAME%\AppData\Roaming\BrowserAutomationStudioTesting\apps\22.2.0\custom\

    Таким образом, структура файлов должна быть такой:

    custom\НАЗВАНИЕ МОДУЛЯ\manifest.json и другие файлы модуля
    

    Это особенно актуально для модулей созданных до апдейта.

    Хотелось бы отметить, что вместо переноса в папку modules, теперь нужно переносить в папку custom.

    Новые модули рекомендуется устанавливать через кнопку "Установить модуль".

    Дополнительная информация.

    Документация по структуре модулей https://cheshirecaat.github.io/BAS.Modules/

    Видеообзор модульной системы https://www.youtube.com/watch?v=sLNxrcZMOA0

    Обмен модулями.

    Чтобы поделиться своими модулями с сообществом, оставьте сообщение в данной ветке https://community.bablosoft.com/category/45/делитесь-модулями.

    Обязательно прочтите о формате сообщения в прикрепленной теме.

    Если пользователи будут активно создавать модули, то для них будет создан специальный реестр, наподобие NPM.



  • @support ЭТО, ПРОСТО, НЕЧТО! Я очень ждал этих возможностей, просто не передать как я рад такому функционалу, спасибо вам огромное за такую работу. Я сажусь тогда на выходных продолжать делать документацию по модульной системе, раз пошла такая пьянка!

    P.S. Жалко, что ваши посты нельзя апвотить до бесконечности - плюсовал бы раз по сто)



  • @support
    Извиняюсь, пока не пробовал, но вопрос:
    Есть ли зашифрованные модули? Которые я могу передать клиенту.
    Например клиент попросил сделать модуль распознавания для bla-bla-bla. Оплачивает мне, я ему скидываю.
    Он его править не может. Только пользуется в своем проекте.
    Правда тут еще...вдруг он передаст другому пользователю...



  • @support said in Выпущена 22.2.0 версия BrowserAutomationStudio:

    Использование модулей в скомпилированных приложениях.

    СПАСИБО!!



  • @oyasumi-punpun А piton-ом не продолжите заниматься? <смущаясь>



  • Низкий поклон разработчику BAS, нереально крутая фича которая более чем уверен даст большой толчок к появлению крутых модулей. Спасибо



  • @000 said in Выпущена 22.2.0 версия BrowserAutomationStudio:

    Есть ли зашифрованные модули? Которые я могу передать клиенту.

    Пока модули не шифруются. В будущем появится система лицензий для модулей как для скриптов.



  • Исправил ошибку при создании модуля из проекта, в котором используются метки. 22.2.1.



  • Модуль прогрева профиля нужен. В Сфере такой есть, называется "Прогреватор".



  • Наверное, все же нужно было в этой теме спросить, а не для версии 21.8.0. )
    Если я покупаю BAS премиум на 6 месяцев (40$), то смогу планировщиком пользоваться и после 6-ти месяцев?



  • @fastspace Сейчас в работе новый проект связанный с отпечатками. В нем будет прокачка профилей, но не в первой версии.



  • @владимир57 Да, вы сможете использовать планировщик как отдельное приложение без ограничений после этого.



  • Выпустил версию 22.2.2 в ней:

    • Исправлено падение после рестарта приложения в режиме веб интерфейса и запуска диалога открытия файла.
    • Функция log_html теперь корректно работает с фильтрацией по номеру потока.
    • Оптимизирован запуск приложения на огромных проектах, от 10 мб.


  • Пламенный лайк за модули!



  • @support планировщик можно использовать со скомпилированной программой?



  • @Владимир57 said in Выпущена 22.2.0 версия BrowserAutomationStudio:

    @support планировщик можно использовать со скомпилированной программой?

    да


Log in to reply