Переключение на профиля BAS в многопотоке. Help.
-
Всем привет, пожалуйста, объясните как, мать его, правильно переключиться на профиля BAS в многопотоке. Слов уже нету и сил тоже :D
Все банально просто, есть 1 скрипт который создает эти профиля, есть 2 скрипт который проделывают дальнейшую работу с этими профилями. Проблему на самом деле я увидел давно, просто нашел решение, но как оказалось это решение работает не корректно!
Погнали. Есть ф-ция ApplicationStart в ней само собой работа с ресурсом перед запуском всех потоков. Потоки стартуют, ресурс распределяется правильно, каждый поток получает свой путь к профилю, это я проверил, но мгновенно вылетает ошибка:
"ReferenceError: Can't find variable: BrowserAutomationStudio_ApplyFingerprint во время выполнения действия"
Основная ф-ция скрипта(варианты, что я перепробовал):
- Парсить строку(в режиме записи само собой все отлично)
- Просто использовать в качестве пути к профилю - переменную самого ресурса, которая находится в ф-ции ApplicationStart (опять в режиме записи все работает)
- Создать переменную в потоке со значением ресурса, затем в действии "Переключиться на профиль" использовать эту переменную в качестве пути. (Это как раз то, что со временем начинает работать некорректно и поток переключается на профиль, а профиль пустой, авторизация в нужном сервисе слетевшая, приходится заново авторизоваться, то есть гробит мне профиль)
На компе у меня 3 версии BAS. Профиля сделаны на версии BAS 25.1.2
Скрипт, который должен переключаться в многопотоке 25.2.1, 25.1.2, попробовал 2 версии - без изменений. Модуль FP Switcher включен.
Мб и что то не вижу банальное, как это делаете вы ребята в своих скриптах ?
-
@samuel182lone В функции OnApplicationStart свои переменные, это отдельный поток.
-
А зачем вы ресурс - который должен получать профиль для конкретного потока, засунули в онапликейшин старт ?
-
@Bigma вообще вас не понял :D
Хорошо, как по вашему потоки должны получить путь к профилю, к которому им надо подключиться ?
-
@smeckoi77 само собой, но а это тут причем ?
Представьте, что у вас есть 10 профилей, к которым нужно подключиться.
Как вы получите пути к этим профилям в каждом потоке ? Вам же нужно получить путь, для того, чтобы начать работать с конкретным профилем...
-
@samuel182lone просто в потоке, вы не понимаете чем отличается функция онапликейшин старт от всех остальных ?
-
@samuel182lone вы читали описание особенности OnApplicationStart?
чем он отличается от остальных?
-
@samuel182lone said in Переключение на профиля BAS в многопотоке. Help.:
@smeckoi77 само собой, но а это тут причем ?
Представьте, что у вас есть 10 профилей, к которым нужно подключиться.
Как вы получите пути к этим профилям в каждом потоке ? Вам же нужно получить путь, для того, чтобы начать работать с конкретным профилем...В каждом потоке получаю свой путь. Или я что-то не догоняю?
-
Может в многопотоке какой-то профиль используется одновременно 2мя или больше потоками? Тогда такая проблема очень даже возможна.
-
@Bigma я безусловно могу быть не прав, поэтому и спрашиваю сообственно.
Возможно я непонятно объяснил... Есть грелка профилей, грелка многопоточная, как этой грелке работать с профилями, к примеру их 10 ? Как потокам путь получить, учитывая ресурс, 1 поток = 1 профиль и при этом сделать это без onapplicationstart ?Я выбрал через onapplication, вот у меня в onapplication находится мой ресурс, таким образом каждый поток получает путь к своему профилю, как я по вашему сделаю так, чтобы путь к профилю, на который нужно переключиться - поток получал иначе ?
Впрочем, даже если это не правильно, это должно работать, потому что если потоки не видят переменных, которые находятся в onapplication, это не говорит о том, что они не могут работать с ресурсом от туда.
Вы бы как сделали ?
-
@samuel182lone said in Переключение на профиля BAS в многопотоке. Help.:
"ReferenceError: Can't find variable: BrowserAutomationStudio_ApplyFingerprint во время выполнения действия"
Этой ошибки не при каких условиях возникать не должно, если только отключен модуль. Если он все таки включен, то тогда попробуйте переустановить БАС либо даже переустановить БАС в другую папку.
-
This post is deleted!
-
@UserTrue плюсик накинул, спасибо, помогло. Но почему так происходит не понял, есть несколько скриптиков, на разных версиях BAS, приходится хранить несколько версий BAS, видимо конфликтуют между собой.
-
@samuel182lone said in Переключение на профиля BAS в многопотоке. Help.:
@UserTrue плюсик накинул, спасибо, помогло. Но почему так происходит не понял, есть несколько скриптиков, на разных версиях BAS, приходится хранить несколько версий BAS, видимо конфликтуют между собой.
Может каким-то образом запоролся сам модуль, можете попробовать вручную скопировать его из рабочей версии
-
@UserTrue да ? И так может быть даже... Буду знать. Ну вообще менял модуль, где то здесь в топиках был чей то кастомный модуль для более глубокого управления отпечатком. Его ставил, но только на 1 версию BAS, а в последствии переустанавливал.
-
@samuel182lone этот модуль лучше не ставить.