Path - Модуль для работы с путями

Делитесь модулями
  • @GhostZ И ещё вопрос один, немного не по теме. Сейчас при использовании модулей на Node JS, BAS при каждом включении режима записи довольно долго инициализирует запуск Node JS. На SSD запуск режима записи замедляется на секунд 5 - 10. Есть ли в планах какое нибудь улучшение в этом плане? Что - то типа инициализировать Node JS один раз для всего BAS вместо каждого скрипта.

  • @UserTrue said in Path:

    Имхо проще так, -1 на уровень ниже, -2 на два и тд

    Да это я знаю, тут как раз вопрос в том чтобы минимизировать использование кода и регулярок.

  • @spacerange, не знаю, попробуйте просто отключить модули использующие Node.js и неиспользуемые в проекте.

  • @spacerange said in Path:

    @UserTrue said in Path:

    Имхо проще так, -1 на уровень ниже, -2 на два и тд

    Да это я знаю, тут как раз вопрос в том чтобы минимизировать использование кода и регулярок.

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

  • @GhostZ said in Path:

    @spacerange, не знаю, попробуйте просто отключить модули использующие Node.js и неиспользуемые в проекте.

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

  • @spacerange, @UserTrue, вспомнил можно же использовать действие "Нормализовать путь", просто к нужному пути добавить /.. столько раз на сколько ступеней нужно спустится
    6e0efb87-0084-4db3-9056-163ddf2f8e76-image.png
    7827e6c7-b2d8-458b-ada7-27f86290a57e-image.png

  • @GhostZ Вещь необходимая. У меня в каждом проекте первая функция идет это создание [[FILEINFO_BASE_DIRECTORY]] путь к папке проекта

    Такие вещи (модуль String в том числе) нужно обязательно включать в основную сборку, т.к. без этого никуда, этим постоянно пользуешься. Тут городить костыли, как я, или иметь уже по умолчанию этот функционал

  • @GhostZ said in Path:

    @spacerange, не знаю, попробуйте просто отключить модули использующие Node.js и неиспользуемые в проекте.

    Возможно стоит намекнуть @support, что для модулей бас стоит использовать отдельную директорию. Это снимет проблему и вообще может избежать конфиликтов с пользовательским кодом.

  • @GhostZ said in Path:

    @spacerange, @UserTrue, вспомнил можно же использовать действие "Нормализовать путь", просто к нужному пути добавить /.. столько раз на сколько ступеней нужно спустится
    6e0efb87-0084-4db3-9056-163ddf2f8e76-image.png
    7827e6c7-b2d8-458b-ada7-27f86290a57e-image.png

    Или действие "Объединить пути"

    df8a66dd-118a-46b0-a30f-2c9fc57b383c-image.png
    482bce62-9a02-4ee0-92ac-3a96f2ccf732-image.png


    Пофиксил добавление лишнего слеша в действии "Объединить пути"

  • Модуль крашит БАС. Имеем проект: Tests.xml. Результат выполнения в режиме записи:
    BrowserAutomationStudio_mi42xZccbl.png
    А вот что происходит в запуске:
    BrowserAutomationStudio_HKzuGq7CiR.png

    И это ещё щадящий результат. При использовании комбинация действий, которые в начале тестового проекта, в моём реальном проекте, при запуске БАС тупо крашился, не выдавая ни результата, ничего другого. Версия БАС: 24.0.8

  • @DoctorKrolic, @GhostZ said in Path:

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

  • @GhostZ Так String по дефолту в 24+ версиях есть. Перепроверил - да, он есть и включен

    • в записи всё работает нормально
  • @DoctorKrolic, в BAS на данный момент используется другая версия модуля строка, нужно либо установить этот модуль, либо в проекте где используется модуль путь использовать любое действие модуля строка.

  • @GhostZ said in Path:

    использовать любое действие модуля строка

    А как это работает, если не секрет. Новая версия с сервера подтянется, или как?

  • @DoctorKrolic, вот так tests.xml, модуль строка не устанавливается если не используется, в будущем общие функции будут вынесены в отдельный модуль и таких проблем не будет.

  • @GhostZ при получении пути к рабочему столу, если там попадаются русские символы, он некорректно их записывает, что делает не возможным использование этого пути. Мне пришлось руками придумать другой алгоритм получения пути к рабочему столу. Пофикси, пожалуйста. А то мой код слишком огромный.
    64409659-d46a-46f2-a221-184fd6bf75a8-image.png
    8b2794b6-1b25-4837-bc67-d7d4ad880143-image.png 2153f6fd-4199-4eb1-b539-d5c401959760-image.png

  • @llimonix, после выполнения действия "Получить системный путь" выполните код [[VAR]] = JSON.stringify(SYSTEM_ENV_DATA) и приложите содержимое переменной [[VAR]]

  • 803bdc84-7a0e-4ad2-a430-524b12ce210c-image.png
    Если получать директорию проекта, то русские символы в пути нормальные, если в вашем же модули ваше дополнение в получение системного пути, то вот такая вот картина из иероглифов

  • @GhostZ said in Path:

    [[VAR]] = JSON.stringify(SYSTEM_ENV_DATA)

    вот ваша прошлая просьба, давно конечно было, но все же
    {"ALLUSERSPROFILE":"C:/ProgramData","APPDATA":"C:/Users/�����/AppData/Roaming","CommonProgramFiles":"C:/Program Files/Common Files","CommonProgramFiles(x86)":"C:/Program Files (x86)/Common Files","CommonProgramW6432":"C:/Program Files/Common Files","COMPUTERNAME":"WIN-CD0SRBHETF1","ComSpec":"C:/Windows/system32/cmd.exe","DriverData":"C:/Windows/System32/Drivers/DriverData","envContainerTelemetryApiCmdLine":"-st "C:/Program Files/NVIDIA Corporation/NvContainer/NvContainerTelemetryApi.dll"","envContainerTelemetryApiCmdLineX86":"-st "C:/Program Files (x86)/NVIDIA Corporation/NvContainer/NvContainerTelemetryApi.dll"","FPS_BROWSER_APP_PROFILE_STRING":"Internet Explorer","FPS_BROWSER_USER_PROFILE_STRING":"Default","HOMEDRIVE":"C:","HOMEPATH":"/Users/�����","LOCALAPPDATA":"C:/Users/�����/AppData/Local","LOGONSERVER":"/WIN-CD0SRBHETF1","NUMBER_OF_PROCESSORS":"12","OS":"Windows_NT","Path":"C:/Program Files (x86)/Common Files/Oracle/Java/javapath;C:/Program Files/Python39/Scripts/;C:/Program Files/Python39/;C:/Windows/system32;C:/Windows;C:/Windows/System32/Wbem;C:/Windows/System32/WindowsPowerShell/v1.0/;C:/Windows/System32/OpenSSH/;C:/Program Files (x86)/NVIDIA Corporation/PhysX/Common;C:/Program Files/NVIDIA Corporation/NVIDIA NvDLISR;C:/Users/�����/AppData/Local/Microsoft/WindowsApps;;D:/�ணࠬ��/Fiddler","PATHEXT":".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW","PROCESSOR_ARCHITECTURE":"AMD64","PROCESSOR_IDENTIFIER":"Intel64 Family 6 Model 167 Stepping 1, GenuineIntel","PROCESSOR_LEVEL":"6","PROCESSOR_REVISION":"a701","ProgramData":"C:/ProgramData","ProgramFiles":"C:/Program Files","ProgramFiles(x86)":"C:/Program Files (x86)","ProgramW6432":"C:/Program Files","PROMPT":"$P$G","PSModulePath":"C:/Program Files/WindowsPowerShell/Modules;C:/Windows/system32/WindowsPowerShell/v1.0/Modules","PUBLIC":"C:/Users/Public","QTWEBKIT_PLUGIN_PATH":"D:/�?�?�?�?�?���?�?�</BrowserAutomationStudio/apps/24.3.1/webkitplugins","SESSIONNAME":"Console","SystemDrive":"C:","SystemRoot":"C:/Windows","TEMP":"C:/Users/7C77~1/AppData/Local/Temp","TMP":"C:/Users/7C77~1/AppData/Local/Temp","USERDOMAIN":"WIN-CD0SRBHETF1","USERDOMAIN_ROAMINGPROFILE":"WIN-CD0SRBHETF1","USERNAME":"�����","USERPROFILE":"C:/Users/�����","VBOX_MSI_INSTALL_PATH":"D:/�ணࠬ��/VirtualBox","windir":"C:/Windows","Desktop":"C:/Users/�����/Desktop","Downloads":"C:/Users/�����/Downloads","Documents":"C:/Users/�����/Documents","Pictures":"C:/Users/�����/Pictures","Videos":"C:/Users/�����/Videos","Music":"C:/Users/�����/Music","Favorites":"C:/Users/�����/Favorites"}"
    SESSID: "08d7e9c6abf9651c53a7b7b175d0cc80