Уточните, пожалуйста, каким образом в проекте вы производите выбор устройства/эмулятора? По имени, по индексу? Можете также приложить скриншот настроек действия выбора.
Пока точно не знаю, но возможно дело не в методе выбора устройства. Возможно вылетает устройство после попытки сделать клик в нем? Уточните, в общем, чем больше подробностей от вас будет, тем лучше.
Для таких целей как раз предусмотрен инструмент '
Трассировка выполнения проекта'.
С помощью трассировки вы совершенно точно сможете узнать на каком действии вылетает проект из выполнения и сможете обыграть ошибку, подкорректировав действие или добавив еще один атрибут для поиска элемента.
Ко всему прочему, вы можете добавить в проект ветку Bad End, в которой производить корректное завершение выполнения проекта, в случае подобных ошибок, особенно если это приводит к потере важных данных (сможете их возвращать обратно).
Помимо ошибки "RiseEvent Нет подключения к устройству", сталкиваюсь ещё со следующими ошибками:
Выполнение действия Запустить устройство Не удалось захватить изображение
Выполнение действия Запустить устройство таймаут выполнения команды
Выполнение действия Выбор устройства Устройство Занято
Выполнение действия StopApp Приложение не найдено
У меня один и тот же скрипт находится в 10 проектах, действия и алгоритм выполнения = 1в1 (просто копировал проект и вставлял, в новом же проекте заменял гугл таблицу на другую), таковы уж мои реалии работы с "многопотоком", но не в этом суть
Я запускаю все 10 проектов поочерёдно с определённой задержкой, проекты работают-работают и в какой-то момент сталкиваются с действием которое невозможно выполнить из-за проблемы приложения в котором я пытаюсь автоматизировать работу, т.к слишком дырявое и проблематичное. Траст валлет кстати приложуха, вдруг кому будет полезно
В связи с этим, по алгоритму, цепочка выполнения действий переходит к блоку кубиков который начинается с "остановка устройства") (см. скрин)
И вот в этом месте и начинается какая-то береберда
Хочу обмолвиться, что все действия которые есть в этом блоке к которым возможно было применить -- они работают исходя из переменной которая объявляется первым же действием после старта
Все ошибки которые я перечислил выше - вылетают именно в этом блоке
Исходя из всего выше изложенного, задаюсь следующими вопросами:
1) Приложение не найдено — каким образом оно не найдено? Если импортируется .ова с уже установленным приложением, его априори невозможно не найти
2) Устройство занято — каким образом оно занято? Если в каждом проекте чётко прописано какое устройство за ним закреплено и другой проект это устройство никак не может занять
Прошу подсказать как правильно реализовать импорт .ова и дальнейший его запуск исходя из переменной, т.к этот же проект будет продублирован в количестве 9-19 штук и в них будет заменена первая переменная которая объявляется после старта
Уважаемый
@Sergodjan, если вам нужна ещё какая-либо информация от меня или же вы хотите "поклацать" мой проект -- дайте знать, я предоставлю абсолютно всё
Кстати, вы можете у себя, локально, сделать точно такой же блок из кубиков и зациклить его, запустить в количестве 10 проектов и посмотреть как всё это дело будет себя вести, думаю, что вы сразу поймёте о чём речь и искрени надеюсь, что у вас удастся решить мою проблему
Также, прикладываю абсолютно все свойства действий из этого блока кубиков:
Пауза в 5 секунд обусловлена тем, что при запуске 10-20 потоков которые работают одновременно, железо сервера забивается и предполагаю, что не всегда успевает останавливать+удалять+импортировать
UPD:
Заметил следующее: после всех этих ошибок проект пытается всё-таки удалить нынешнюю виртуалку и импортировать новую исходя из готового файла .ова, но виртуалка отказывается прогружаться (т.е, если виртуалка прогружена и попытаться её "развернуть", то она будет в мизерном разрешении, а если виртуалка "в процессе загрузки" и попытаться её "развернуть", то откроется полноценное окно в нужном разрешении, что будет означать, что она не всё ещё не загрузилась.