#macos #.net-core #ui-automation #coded-ui-tests #sikuli
#macos #.net-core #автоматизация пользовательского интерфейса #coded-ui-tests #sikuli
Вопрос:
У меня есть кроссплатформенное настольное приложение, написанное на Xamarin.Формы, которые выполняются как в Windows, так и в macOS. Я хочу выполнить некоторую автоматизацию пользовательского интерфейса поверх этого приложения.
После некоторых исследований кажется, что наиболее удобным для кроссплатформенности вариантом является использование чего-то вроде Sikuli. Поскольку стек по умолчанию в нашей команде сосредоточен на .NET stack мы хотим использовать SikuliSharp или Sikuli4Net для выполнения автоматических тестов пользовательского интерфейса.
Однако, несмотря на то, что мы смогли успешно запустить Sikuli4Net в Windows, до сих пор автоматизируя несколько потоков. У нас тяжелая ситуация в macOS. Наша команда (включая меня) не обладает большими (или, возможно, любыми) знаниями о приложениях Java.
Я установил JDK 8, но не смог запустить тесты так же, как мы это делали в Windows. Код создается, но кажется, что чего-то в среде не хватает.
С помощью Sikuli4Sharp при запуске APILauncher следующим образом:
launch = new APILauncher(true);
launch.Start();
Я получаю следующую ошибку:
С помощью SikuliSharp при попытке запустить простое демонстрационное приложение в нашем программном обеспечении у меня возникает эта ошибка:
Я попытался настроить переменную среды SIKULI_HOME, используя этот ответ в качестве ссылки, но все та же проблема (и я перезапустил консоль и IDE, даже мой компьютер).
Когда я запускаю echo $SIKULI_HOME
терминал, я получаю каталог, содержащий файлы .jar:
Итак, я немного растерялся, что делать дальше. Из-за этих проблем я не был уверен в возможности запуска Sikuli4Net или SikuliSharp в средах macOS. Так ли это? Если нет, что я делаю не так?
Ответ №1:
как указано в сообщении об ошибке: sikuli-script.jar отсутствует.
Вы должны проверить, от какой версии Sikuli / SikuliX зависит ваш SikuliSharp или Sikuli4Net.
Если вы сомневаетесь, вам нужно погрузиться в исходные коды этих сетевых пакетов.