Automates anything you see on the screen using OpenCV image recognition.
7.7K
SikuliX (previously known as Sikuli) automates anything you see on the screen. It uses image recognition powered by OpenCV to identify and control GUI components. This is handy in cases when there is no easy access to a GUI's internals or the source code of the application or web page you want to act on.
You want to automate some repetitive tasks in:
Contains latest official SikuliX inside a container based on KasmVNC.
Simplest usage is:
$ docker run --name sikulix --rm -p 3000:3000 -v $PWD/config:/config wernight/sikulix
... or using Docker Compose:
services:
sikulix:
image: wernight/sikulix
ports:
- 3000:3000
volumes:
- ./config:/config
Once started, open http://localhost:3000 to access the UI.
See SikuliX official documentation for the scripting language.
It's based on LinuxServer.io docker-baseimage-kasmvnc; see their documentation for supported features like:
proot-apps install chromium)The simplest is to then have your application also run from within that X11 virtual session.
Comes preinstalled with:
Settings.OcrLanguage = "eng" in your script).config/.config/openbox/ so as to fetch the latest changes which a else stored on /defaults/.--device /dev/bus/usb:/dev/bus/usb (if it fails try --privileged --security-opt seccomp=unconfined --security-opt label=disable).adb tcpip 5555.# If it fails try running first "adb connect <DEVICE_IP>:5555" or add "--tcp=<DEVICE_IP>:5555" argument to scrcpy.
scrcpy --stay-awake --turn-screen-off
HEADLESS PROBABLY WON'T WORK AS OF CURRENT STATE - YOU'LL HAVE TO FIDDLE WITH IT
First you need to run a X11 program, for example you may run Chromium using Xvfb (but you may as well run Android the same way):
$ docker run --rm --name chromium -v /tmp/.X11-unix -it markadams/chromium-xvfb xvfb-chromium
Now run an existing script on it:
$ docker run --rm -e DISPLAY=:99 --volumes-from chromium -v $PWD:/code:ro wernight/sikulix -- sikulix -c -r /code/my_script.sikuli
See SikuliX command-line options or run sikulix -h.
WARNING: Due to bug #183 use only the short command-line form for flags (e.g. -h instead of --help).
Keep in mind that to forward X you'll need:
DISPLAY environment variable (usually :99 if using Xvfb).XAUTHORITY or /tmp/.X11-unix (as read-only).Note: Here we run as root to make it simpler, but you should avoid it (for security). Add --user flag and run as any user you want, like any random integer in [2000-32000] as long as that user has read access to your mounted files, and it's the same as the one running X11 (i.e. Xvfb).
Having more issues? Report a bug on GitHub.
Content type
Image
Digest
sha256:1337652ef…
Size
1.2 GB
Last updated
over 1 year ago
docker pull wernight/sikulix