Sikuli (SikuliX) + Commençant par RPA en Ruby (j'ai trébuché plusieurs fois, mais j'ai pu le faire correctement)

J'ai entendu dire que tu pouvais le faire avec Ruby

Il existe un outil RPA gratuit appelé SikuliX. (Officiel, Documentation) Il semble être le successeur de Sikuli, mais dans la formule ci-dessus

SikuliX supports as scripting languages Python language level 2.7 (supported by Jython) running RobotFramework text-scripts is supported (see docs) Ruby language level 1.9 and 2.0 (supported by JRuby) JavaScript (supported by the Java Scripting Engine)

Il dit quelque chose comme "Vous pouvez écrire des commandes dans Ruby!", J'ai donc pensé que je devrais jouer avec ça pendant un moment. [^ 1]

Cependant, il existe peu d'articles d'introduction sur Ruby + SikuliX, donc quand je l'ai essayé, je suis resté coincé dans la phase de configuration initiale. Donc, dans cet article, pour ceux qui veulent faire quelque chose de similaire, c'est la façon de le faire! Je vais rapporter cela.

(Surtout, il y a peu d'articles en japonais. Il semble qu'il y ait plus de gens dans ce domaine que Python, donc il y en a plus!)

L'environnement de l'auteur est Windows 10.

Tout d'abord, téléchargez SikuliX

https://raiman.github.io/SikuliX1/downloads.html Accédez à et téléchargez les deux fichiers .jar à partir des liens en rouge ci-dessous. [^ 2] Créez votre dossier préféré pour SikuliX et enregistrez les deux au même endroit.

downloadsikulix.jpg

Téléchargez une version de Java (Open JDK) qui exécute SikuliX

Si Java est déjà installé, vous voudrez exécuter sikulixide-2.0.4.jar, mais soyez patient __. À partir d'octobre 2020, il semble que la dernière version de Java provoquera une erreur et que seul l'interpréteur JRuby sera déplacé vers un autre emplacement (probablement, se déplacer n'est pas un problème et vous pouvez simplement continuer le travail suivant. Je pense, mais si vous êtes inquiet, téléchargez à nouveau JRuby Interpreter).

Maintenant, téléchargeons un peu plus ancien Java. https://jdk.java.net/archive/ Il semble que la version 11.0.2 soit recommandée pour SikuliX, alors cherchez-la et téléchargez-la.

download_openjdk.jpg Décompressez le zip et conservez le dossier résultant dans un endroit que vous connaissez. Je l'ai mis directement sous le lecteur C.

Je vais le démarrer pour le moment

À l'invite de commande, accédez au dossier dans lequel vous avez téléchargé __SikuliX __ et entrez la commande suivante. * Cependant, c'est le cas lorsque le dossier OpenJDK est placé directement sous le lecteur C comme moi. Si vous le placez ailleurs, veuillez spécifier le chemin java en conséquence.

C:\openjdk-11.0.2_windows-x64_bin\jdk-11.0.2\bin\java -jar sikulixide-2.0.4.jar

Si vous faites cela, l'interpréteur JRuby se déplacera quelque part comme avant, mais cette fois, l'EDI se lancera sans aucune erreur. sikulixide1.jpg

Mais __ Cela ne fonctionne toujours pas pour les scripts Ruby. __ Pour être précis, met "Hello" fonctionne, mais comme le joyau Sikulix essentiel n'a pas été installé dans JRuby, les choses de type RPA ne peuvent pas être faites telles quelles.

Installez le gem "sikuli" sur JRuby

Donc, je veux installer la gemme sur l'interpréteur JRuby, mais où est allé l'interpréteur JRuby que j'ai téléchargé plus tôt en premier lieu? Quand je l'ai cherché, il a été déplacé vers le suivant.

C: \ Users \ (nom d'utilisateur) \ AppData \ Roaming \ Sikulix \ Extensions

Vous devriez pouvoir trouver jruby-complete-9.2.0.0.jar (les numéros de version peuvent être légèrement différents)

Il ne vous reste plus qu'à installer la gemme dessus. Je ne suis pas sûr des gemmes JRuby, mais je me réfère à Q & R here, Fait.

java -jar jruby-complete-9.2.0.0.jar -S gem install -i ./biojruby sikuli
jar uf jruby-complete-9.2.0.0.jar -C biojruby .

gem install donne quelques avertissements, mais ne vous en faites pas.

Allons vérifier.

$ java -jar jruby-complete-9.2.9.9.jar -S gem list sikuli

Cela donne également des avertissements, mais ce n'est pas grave si sikuli est affiché avec le numéro de version.

SIKULI_HOME dans la variable d'environnement

La touche finale! Ajoutez SIKULI_HOME dans les paramètres de la variable d'environnement Windows. (Apparemment, il est nécessaire que le côté gem sikuli reconnaisse le .jar de SIKULI? C'est aussi une vente de Stack Overflow ... je suis désolé)

sikulihome.jpg

Exécution RPA

Désolé je t'ai fait attendre! C'est enfin fait. Rouvrez l'invite de commande et rouvrez le .jar côté SikuliX avec OpenJDK.

C:\openjdk-11.0.2_windows-x64_bin\jdk-11.0.2\bin\java -jar sikulixide-2.0.4.jar

Je suis désolé pour l'image ci-dessous, mais voici un exemple de script. dans ce cas,

--Double-cliquez sur l'icône du navigateur Edge sur votre bureau --Cliquez sur "abc" lorsque la même image que "Nouvel onglet" est affichée

C'est une instruction.

sikuliide.jpg

Les icônes, etc. peuvent être facilement insérées en sélectionnant "Prendre une capture d'écran" dans le menu. Veuillez essayer avec votre icône préférée.

Une fois terminé, enregistrez-le dans n'importe quel emplacement (un dossier intitulé .sikuli sera créé), puis cliquez sur le bouton Exécuter ...

Comment c'est? Félicitations à ceux qui ont bien travaillé!

plus tard

https://sikulix-2014.readthedocs.io/en/latest/toc.html Je pense que je vais étudier comment le lire en Ruby le cas échéant tout en me référant à l'environnement ... mais après tout il y a peu d'informations ... Donc, s'il y a un sujet qui semble utile, je continuerai de le couvrir dans Qiita.

Impressions

Cette fois, j'ai choisi SikuliX en tant que RPA gratuit. J'ai pu le faire avec Ruby, mais cela a pris beaucoup de temps juste pour créer l'environnement.

Pour être honnête, cela peut être un goulot d'étranglement dans la RPA pour l'efficacité du travail, même s'il y a peu d'articles auxquels on peut se référer. Cette fois, je jouais juste à la maison, donc ça va, mais simplement l'installer sur des dizaines de PC semble être assez compliqué. N'est-ce pas le cas avec Jython?

Si c'est un RPA qui peut être fait avec Ruby, il semble y avoir quelque chose comme Roboware moyennant des frais (non, je ne suis pas un tourneur), et si vous vous attendez à un fonctionnement solide et stable, pensez au support. Il vaudrait peut-être mieux envisager un tel endroit.

Au contraire, SikuliX peut être utile si vous pensez à ce que vous pouvez faire avec une petite équipe. J'espère que le nombre de personnes qui choisissent JRuby augmentera, et que les fonctionnaires se concentreront également sur les documents, etc., et je me suis retrouvé là-bas.

[^ 1]: Pour être exact, nous utilisons JRuby, un environnement qui convertit les scripts Ruby en Java et fonctionne. SikuliX lui-même fonctionne sur Java.

[^ 2]: Cela dit que vous pouvez télécharger à la fois l'interpréteur Jython et l'interpréteur Jython, mais quand j'ai fait cela, Jython a eu la priorité et JRuby n'a pas pu fonctionner. Dans ce cas, je n'avais pas d'autre choix que de le désinstaller et de réessayer. Veuillez consulter https://auto-worker.com/blog/?p=473 pour la désinstallation.

Recommended Posts

Sikuli (SikuliX) + Commençant par RPA en Ruby (j'ai trébuché plusieurs fois, mais j'ai pu le faire correctement)
Quand j'ai commencé ansible + docker maintenant, j'ai trébuché depuis le début, mais j'ai réussi à le démarrer