[[Vorlage(Archiviert)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Programme_starten: Starten von Programmen] [:Terminal: Ein Terminal öffnen] [:sudo: Root-Rechte] [:Archivmanager:Archive entpacken] [:Rechte:Dateien ausführbar machen] [:Menüeditor:Anwendungsstarter erstellen] }}} [[Inhaltsverzeichnis(2)]] [[Bild(Logo.png, 64, align=left)]] [http://www.sikuli.org/ Sikuli] {en} ist ein plattformunabhängiges Werkzeug, um Aktionen, die man regelmäßig mit der Maus oder Tastatur ausführt, zu automatisieren (siehe auch die [#Links:Beispielvideos]). Das erspart Arbeit, wenn man zum Beispiel nach dem Starten eines Programms die immer gleichen Dialoge beantworten muss, wenn man bestimmte Einstellungen regelmäßig ändert und sich dafür jedes Mal durch mehrere Menüs klickt. Ein weiteres Anwendungsgebiet ist die [wikipedia:Testautomatisierung:Testautomatisierung]. Man nimmt ein Bildschirmfoto von dem auf, was per Links- oder Rechtsklick, Mausberührung, Ziehen und Ablegen oder Tippen mit der Maus bzw. Tastatur gesteuert werden soll und verbindet damit die jeweiligen Aktionen. Sikuli führt diese dann automatisiert aus mithilfe der eigenen Skriptsprache, die ebenfalls in eigene Programme eingebunden werden kann. Das Programm ist quelloffen und steht unter der [wikipedia:MIT-Lizenz:]. = Installation = Für Sikuli existieren keine Paketquellen. Deshalb muss das Programm manuell installiert werden. Voraussetzung ist ein installiertes [:Java/Installation:Java]. [[Vorlage(Fremd, Software, "Die folgende Anleitung bezieht sich noch auf die Version 1.0 und hat sich mit der aktuellen Version 1.0.1 oder neuer geändert.")]] == Vorbereitung == === 32-bit === Die Abhängigkeiten [https://dl.dropboxusercontent.com/u/42895525/SikuliX/SikuliX-1.0-UbuntuLibs32.zip SikuliX-1.0-UbuntuLibs32.zip] {dl} (s. [github:RaiMan/SikuliX-API/wiki/Special-information-for-Linux:Github] {en}) herunterladen, entpacken [5] und die einzelnen Dateien mit Root-Rechten [4] nach '''/usr/local/lib/''' verschieben. === 64-bit === Die Abhängigkeiten können aus den offiziellen Paketquellen installiert werden [1]: {{{#!vorlage Paketinstallation libopencv-highgui2.4 libopencv-imgproc2.4 libopencv-core2.4 libpng12-0 libtesseract3 liblept3 }}} == Manuelle Installation == * '''Sikuli-IDE-1.*-Lnx64.zip''' (64-Bit) bzw. '''Sikuli-IDE-1.*-Lnx32.zip''' (32-Bit) von [launchpad:sikuli/+download:Launchpad] {en} {dl} herunterladen und an einen beliebigen Ort entpacken [5] (z.B. '''~/.Sikuli-IDE''') * Die Dateien '''sikuli-ide''' und '''sikuli-script''' ausführbar [6] machen. Wenn man bspw. das Programm nach '''~/.Sikuli-IDE''' entpackt hat, kann das im Terminal [3] mit folgendem Befehl erledigt werden: {{{#!vorlage Befehl chmod +x ~/.Sikuli-IDE/{sikuli-ide,sikuli-script} }}} * optional: Einen Anwendungsstarter erstellen [7]. Gestartet wird das Programm über die Datei '''sikuli-ide'''. = Bedienung = [[Bild(Bildschirmfoto, 400, right)]] Man kann nun Abläufe programmieren, indem man Befehle aus der Leiste links anklickt. Diese sind unterteilt in ''"Finden"'', ''"Maus-Aktionen"'' und ''"Tastatur-Aktionen"''. Wird ein Befehl gewählt, erscheint er im Editor. Wenn das Häkchen bei ''"Bildschirmfoto sofort"'' unter ''"Einstellungen"'' gesetzt ist, wird Sikuli automatisch minimiert, und man kann einen Bildschirmbereich auswählen, der als Bild gespeichert wird. Es taucht nun hinter dem Befehl auf, und ein Klick darauf öffnet ein Konfigurationsfenster, in dem der Klickpunkt für die Maus festgelegt oder ein neues Bild ausgewählt werden kann. Mit der Schaltfläche ''"Ausführen"'' oben kann das Skript gestartet werden. == Ausführbare Skripte == Da man sicher nicht immer erst die Sikuli-Programmierumgebung öffnen möchte, um ein Skript auszuführen, kann man ein solches auch ausführbar speichern (''"Datei -> Speichern als ausführbar"''). Gestartet werden kann es nun im Terminal [3] mit dem folgenden Befehl: {{{#!vorlage Befehl PFAD_ZUM_SIKULI_PROGRAMMORDNER/sikuli-script -r PFAD_ZUM_SKRIPT/Skript.skl }}} Noch einfacher wird es, wenn man sich einen Anwendungsstarter [7] oder ein Tastenkürzel dafür anlegt ([:GNOME_Tastenkürzel#Unity-GNOME-3:Anleitung] für Unity/GNOME 3). = Entwickler = Das Sikuli-Script kann auch als Java-Bibliothek von anderen Java-Programmen verwendet werden. Mehr dazu in der [http://doc.sikuli.org/faq/030-java-dev.html Dokumentation] {en}. ##= Problembehebung = = Links = * [http://www.sikuli.org/ Offizielle Seite] {en} * [http://doc.sikuli.org/tutorials/index.html Tutorial] {en} * [http://doc.sikuli.org/ Dokumentation] {en} * [launchpad:sikuli:Launchpad-Projektseite] {en} * [github:RaiMan/SikuliX-API/wiki/Special-information-for-Linux:Spezielle Informationen für Linux] {en} * [github:RaiMan/SikuliX-API:API auf Github] {en} * [github:RaiMan/SikuliX-IDE:IDE auf Github] {en} * [youtube:w_ioyQPuV_8:Beispielvideo 1] * [youtube:FxDOlhysFcM:Beispielvideo 2] - zeigt ein gutes Beispiel, verwendet aber eine alte Programmversion #tag: Grafik, Ubuntu, Emulation und Virtualisierung, Installation, Editor, Desktop, Programmierung, Java