Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Помогите разобраться с установкой sikuli на Ubuntu


(Александр) #21

Уже делал reimport, все равно это не помогает.


(Александр) #22

Не знаю как это объяснить, но я удалил весь проект и заново собрал его руками. Import заработал. Спасибо большое за отзывчивость. С миру по нитке, как говорится. Вопрос такой еще у меня архитектура 64 разрядная. Это может как-то повлиять на работу? Использую:

java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1~0.12.04.2)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)

(Sergey Korol) #23

Нет, новый сикули, в отличии от старого, не зависит от разрядности и версии jdk.


(Александр) #24

При попытке ввести в строку поиска google вылетает exception:

    [error] ImagePath: setBundlePath: Settings not changed: invalid BundlePath: null
[error] ResourceLoader: checkLibsDir: Not a valid libs dir for SikuliX (amd64): /home/alex/.m2/repository/info/testing/automated/sikuli/sikulix-api/1.0.0/libs
[error] ResourceLoader: checkLibsDir: Not a valid libs dir for SikuliX (amd64): /home/alex/.m2/repository/info/testing/automated/sikuli/sikulix-api/1.0.0/libs
java.lang.ExceptionInInitializerError
	at org.sikuli.script.Observer.checkPatterns(Observer.java:155)
	at org.sikuli.script.Observer.update(Observer.java:365)
	at org.sikuli.script.Region.observeDo(Region.java:2649)
	at org.sikuli.script.Region.observe(Region.java:2607)
	at info.testing.automated.sikuli.core.Desktop.observe(Desktop.java:44)
	at info.testing.automated.sikuli.core.Desktop.type(Desktop.java:36)
	at info.testing.automated.sikuli.examples.CommonSikuliActionsTests.sikuliClickAndType(CommonSikuliActionsTests.java:32)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
	at org.testng.SuiteRunner.run(SuiteRunner.java:240)
	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
	at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
	at org.testng.TestNG.run(TestNG.java:1057)
	at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
	at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
	at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
	at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:125)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
Caused by: java.lang.NullPointerException
	at org.sikuli.basics.ResourceLoader.check(ResourceLoader.java:394)
	at org.sikuli.basics.FileManager.loadLibrary(FileManager.java:82)
	at org.sikuli.script.Finder.<clinit>(Finder.java:39)
	... 37 more

(Sergey Korol) #25

У вас путь к либам не засечен. В последней версии (которую удалили), автоматом сетились env vars.


(Александр) #26

Тот файл sikulixapi.jar, который вы мне скидывали я так понял нужен для того чтобы его установить в maven. А можно jar файл который я могу установить в локальный репозиторий? Или любой подойдет той же самой версии? Мне необходимо это сделать чтобы появилась папка libs.


(Sergey Korol) #27

Не совсем понял вопроса. Настоятельно рекомендую ознакомиться с maven’ом для начала, прежде чем пробовать что-то сложное. Следующей командой вы собственно и устанавливаете jar в локальный maven репозиторий.

mvn install:install-file -Dfile=path/sikulixapi.jar -DgroupId=info.testing.automated.sikuli -DartifactId=sikulix-api -Dversion=1.0.0 -Dpackaging=jar

Папка libs появляется после установки сикули. Вы как бы сами констатировали, что она появилась в установочной директории. Теперь лишь нужно прописать к ней путь в path.


(Александр) #28

Извините, неправильно поставил вопрос.
1)Установил sikuli через java -jar sikuli-setup.jar. Появилась папка libs.

2)Установил в локальный maven репозиторий sikulixapi.jar, который вы мне скинули

3)Настроил переменные (пользуюсь ubunta 12.04):

export Path=/home/alex/sikulix/libs/
export SIKULI_HOME=/home/alex/sikulix/
  1. Error тот же самый:

    [error] ImagePath: setBundlePath: Settings not changed: invalid BundlePath: null
    [error] ResourceLoader: checkLibsDir: Not a valid libs dir for SikuliX (amd64): /home/alex/.m2/repository/info/testing/automated/sikuli/sikulix-api/1.0.0/libs
    [error] ResourceLoader: checkLibsDir: Not a valid libs dir for SikuliX (amd64): /home/alex/.m2/repository/info/testing/automated/sikuli/sikulix-api/1.0.0/libs


(Sergey Korol) #29

По ubuntu точно не подскажу. Но возможно в вашем случае при установке сикули еще понадобится 6й пак для кросс-платформенности.


(Sergey Korol) #30

Вот что нашел на офф сайте:

On Linux/Unix systems you need valid installations of OpenCV 2.2+ and Tesseract 3 before you can run setup or use Sikuli. Your system’s package manager should help to get the stuff. In doubt you have to build it from the sources. If you encounter any problems regarding missing libraries from libVisionProxy.so, check the above prerequisites again. If you are sure everything is ok, then it might be necessary, to build your own libVisionProxy.so. To help you get on the road, there is a supplemental package.

Вот еще quickstart guide.

UPDATE: вообще говоря, самую последнюю версию можно всегда собрать самому отсюда. Там и setup билдится, и профили под различные ОС подключаются.