★悩み★
・SikuliXのimport(インポート)って何に使うの?
・SikuliXでスクリプトの共通化ってできるのかな?
・importでSikuliXのスクリプトを共通化する方法を知りたい。
こういった「悩み」に答えます。
★本記事の内容★
① SikuliXのimport(インポート)とは?
➁ 準備:SikuliXのインストールと起動
③ SikuliXのimport(インポート)でスクリプトを共通化する方法
これからご紹介する「SikuliXのimport(インポート)でスクリプトを共通化」を実践したことで、30分以内で「共通化されたスクリプトをSikuliXで再利用」できました(下の動画参照)。
記事の前半では「SikuliXのインストールや起動といった環境の準備」を解説します。
記事の後半では「SikuliXにおけるimport(インポート)とは?」を解説しつつ、「importの使い方」を紹介します。
この記事を読み終えることで、「SikuliXで再利用できるスクリプト」を作れる状態になります。
★SikuliXとは★
SikuliX(シクリ)とは、画像認識を用いたGUI操作自動化ツールです。簡単な操作で「エクセル入力の自動化」などに利用できます。「検索ボックスに検索ワードを入力して検索ボタンをクリックする」などの操作を自動化できます。
さらに詳しく知りたい方には、以下の記事がオススメです。
>> 【要点解説】SikuliXとは?を解消!3ステップで入門する方法を解説
ちなみに、筆者が2週間でSikuliXを学んだ方法や手順について以下で公開しています。皆様の学習の参考になれば嬉しいです。
>> SikuliXに0から入門し操作を自動化するまでのロードマップを公開中
SikuliXのimport(インポート)とは?
「SikuliXのimport(インポート)とは?」に関してご紹介します。
★SikuliXのimport(インポート)関連の情報★
・import(インポート)で実現できること
・import(インポート)の利用場面
以降で、上記「SikuliXのimport(インポート)関連の情報」の各項目に関してご説明します。
import(インポート)で実現できること
「import(インポート)で実現できること」に関して説明します。
SikuliXでimport(インポート)を使えば、どんなメリットがあるかを簡単に解説しますね。
SikuliXでimport(インポート)を使うことで、「以前作成したスクリプトを再利用」できます(下図参照)。
ちなみに、SikuliXでimport(インポート)を使うことで、以下のメリットがあります。
★SikuliXでimport(インポート)を使うメリット★
・以前作成したスクリプトを再利用できるため、開発効率が向上
・機能単位などでプログラムを分割できるため、可読性が向上
以上が、「import(インポート)で実現できること」となります。
import(インポート)の利用場面
「import(インポート)の利用場面」に関して説明します。
筆者の体験談をもとにして、SikuliXでimport(インポート)を利用するべき場面に関して簡単に解説しますね。
筆者は、この1年間でSikuliXを用いて、10件ほどの業務自動化を実施しました。
その経験を通して、以下の場面では、import(インポート)を利用するべきだと考えました。
★SikuliXでimport(インポート)を利用するべき場面★
・よく使いそうな機能は、importできるようにしておく
例)「ログ出力」や「状態遷移が完了するまで待機する関数」など
・複雑で大量の操作を自動化するとき
反省)操作ごとに分類しなかったため、スクリプトの可読性が低下
以上が、「import(インポート)の利用場面」となります。
頻繁にSikuliXを使って操作を自動化されている方は、import(インポート)の利用を検討してみてください。
開発効率が向上する可能性があります。
準備:SikuliXのインストールと起動
「準備:SikuliXのインストールと起動」に関してご紹介します。
★SikuliXでimport(インポート)を使うための環境準備の手順★
手順1:SikuliXをインストール
手順2:SikuliXの起動
上記の流れで、「import(インポート)でスクリプト共通化を実現するための環境準備」ができます。
上記の各手順は、以下の日時で動作確認済みです。
動作確認済み日時:2022年5月5日
以降で、上記「SikuliXでimport(インポート)を使うための環境準備の手順」の各手順に関してご説明します。
手順1:SikuliXをインストール
「手順1:SikuliXをインストール」に関して説明します。
お使いのパソコンにSikuliXをインストールしましょう。
「SikuliXをWindowsにインストールする手順」に関しては、以下の記事をご覧ください。
>> 【Windows向け】SikuliXのインストール手順と基本的な使い方
「macOS(Mac)にインストールする手順」に関しては、以下の記事をご覧ください。
>> 【Mac向け】SikuliXのインストール手順と基本的な使い方
以上が、「手順1:SikuliXをインストール」となります。
手順2:SikuliXの起動
「手順2:SikuliXの起動」に関して説明します。
インストールしたSikuliXを起動し、「import(インポート)を使ったプログラム」を記載できる状態にしましょう。
「WindowsにインストールしたSikuliXを起動する手順」に関しては、以下の記事をご覧ください。
>> 【Windows向け】SikuliXのインストール手順と基本的な使い方
「macOS(Mac)にインストールしたSikuliXを起動する手順」に関しては、以下の記事をご覧ください。
>> 【Mac向け】SikuliXのインストール手順と基本的な使い方
以上が、「手順2:SikuliXの起動」となります。
Javaをインストールし、SikuliXのjarファイルをダウンロードすることで、簡単にSikuliXの環境を準備できます。
以降で、import(インポート)でスクリプトを共通化する方法に関して解説します。
SikuliXのimport(インポート)でスクリプトを共通化する方法
「SikuliXのimport(インポート)でスクリプトを共通化する方法」に関してご紹介します。
★SikuliXのimport(インポート)でスクリプトの共通化を実現★
① importの構文を解説
➁ import(インポート)で共通化したスクリプトを作成
SikuliXの「import」を使うことで、「スクリプトの共通化」を実現できます。
上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2022年5月5日
動作確認済み環境:macOS Catalina
以降で、上記「SikuliXのimport(インポート)でスクリプトの共通化を実現」の各項目に関してご説明します。
importの構文を解説
「importの構文を解説」に関して説明します。
SikuliXでスクリプトを共通化したい場合、方法として「importの利用」があります。
SikuliXで「スクリプトを共通化」したい場合、以下の「import」を使います。
★importのリファレンス★
処理:指定したファイルを現在のスクリプトから参照できるようにする
使い方:import ファイル名
SikuliXの「import」の書き方としては、以下となります。
★importの書き方★
・書き方
import sys
sys.path.append(“参照したいファイルのPATH”)
import ファイル名
・例
import sys
sys.path.append(“/tmp/common_library.sikuli”)
import common_library
・実行結果
common_library.pyに定義した関数やクラスを再利用可能
以上が、「importの構文を解説」となります。
import(インポート)で共通化したスクリプトを作成
「import(インポート)で共通化したスクリプトを作成」に関して説明します。
SikuliXのimportを使って、共通化したスクリプトを再利用するプログラムを作成してみましょう。
起動したSikuliX上において、「スクリーンショットを撮る」をクリックし、「Safariのアイコン」の画像を撮影しましょう。
その後、以下のプログラムを作成してください。
# -*- coding: utf-8 -*-
class a:
def _init_(self):
print "aクラスの初期化処理を実行しました。"
def aa(self):
print "aa関数を実行しました。"
def b():
print "b関数を実行しました。"
from sikuli import *
def open_safari():
doubleClick("1651673716945.png") # Safariのアイコン画像
sleep(5)
print "Safariを開く関数を実行しました。"
上記プログラムは、「importされる側(共通化したスクリプト)」となります。
今回は、上記の共通化したスクリプトを「common_library」という名前で保存してください。
続いて、以下のような「importする側(共通化したスクリプトを呼び出す側)」のスクリプトを作りましょう。
import sys
sys.path.append("/tmp/common_library.sikuli")
import common_library
# インポートしたクラスを定義
a_obj = common_library.a()
# インポートしたクラスの関数を実行
a_obj.aa()
# インポートしたファイル内に定義された関数を実行
common_library.b()
# インポートしたファイル内に定義された関数を実行
common_library.open_safari()
print "SikuliXでimportができました。"
上記2つのプログラム(importする側とimportされる側)作成後、SikuliX上の「実行」ボタンをクリックします。
上記で使った関数を詳しく知りたい方は、以下の記事をご覧ください。
・doubleClick()について
>> SikuliXでマウスのクリックや移動操作を自動化
・sleep()について
>> SikuliXでよく使うコマンドの一覧
クリック後、下のデモ動画のように、SikuliXで共通化されたスクリプトをimport(インポート)した自動化を実現できます。
以上が、「import(インポート)で共通化したスクリプトを作成」となります。
SikuliXで「import(インポート)」を使うことで、共通化されたスクリプトを再利用できます。
ちなみに、「SikuliXをシステムで利用する場合の注意点」や「SikuliXでAndroidを操作する方法」などを知りたい方には、以下の記事で紹介している本がオススメです。
>> 【入門者向け】SikuliXの勉強に役に立つオススメ書籍3冊
【まとめ】SikuliXのimport(インポート)でスクリプトを共通化
いかがでしたでしょうか?
「SikuliXでimportを使う理由や利用場面」と「実際のプログラムやデモ動画」をご紹介し、以下の悩みを解決しました。
★悩み★
・SikuliXのimport(インポート)って何に使うの?
・SikuliXでスクリプトの共通化ってできるのかな?
・importでSikuliXのスクリプトを共通化する方法を知りたい。
SikuliXを頻繁に使っている、かつ、開発効率を向上させたい方は、ぜひSikuliXのimport(インポート)の利用を検討してみてください。
コメント