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

Делитесь модулями
  • @GhostZ Сейчас в BAS есть отдельное действие "Путь к проекту", если этот модуль будет в релизе, заменит ли его аналогичное действие из этого модуля? Иногда из пути нужно спарсить другой путь на одну или две ступени меньше, можно ли при помощи этого модуля сделать такое?

  • @spacerange said in Path:

    @GhostZ Сейчас в BAS есть отдельное действие "Путь к проекту", если этот модуль будет в релизе, заменит ли его аналогичное действие из этого модуля?

    Если модуль будет в релизе, то действие "Путь к проекту" будет перенесено в модуль, по аналогии с действиями в модуле String

    @spacerange said in Path:

    Иногда из пути нужно спарсить другой путь на одну или две ступени меньше, можно ли при помощи этого модуля сделать такое?

    Да, действие "Получить директорию пути" в цикле.

  • @spacerange said in Path:

    Иногда из пути нужно спарсить другой путь на одну или две ступени меньше

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

    'c:/sadsa/dsadsa/asddd'.split('/').slice(0,-1).join('/') // "c:/sadsa/dsadsa"
    

    Ну или можно такое добавить в данный модуль

  • @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

  • 7 Votes
    21 Posts
    5233 Views
  • 0 Votes
    11 Posts
    1885 Views
  • 33 Votes
    53 Posts
    13957 Views
  • 1 Votes
    5 Posts
    1673 Views
  • 8 Votes
    60 Posts
    44965 Views