82
113

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

自動化ツールの SikuliX を使って話題の RPA を試してみる

Posted at

概要

Webアプリのテスト自動化で有名なものとして SeleniumTestCafe などがありますが、これらのツールはWebアプリ専用となっており、Windowsの画面の操作であったりExcelの操作などは自動化させることができません。

以前からあらゆる操作を自動化したいというニーズはあったかと思いますが、2016年ごろから RPA (Robotic Process Automation) という言葉が使われ始め、AI や IoT などのように話題になってきています。RPA は簡単に説明すると、認知技術(ルールエンジンや機械学習、AIなど)を活用した業務の効率化や自動化を行う仮想知的労働者という定義になっていますが、この RPA のツールを利用することで、Webアプリだけでなくあらゆる操作を自動化できるようになり、作業の効率化が図れるようになっています。

RPA ツールに関しては既に多くのベンダーからリリースされていますが、今回はオープンソースの SikuliX (シクリ) というツールを使って自動化の世界を試したいと思います。

動作環境

  • Windows 10 (64bit)
  • Java SE 8 (64bit)

準備

1. Java のインストール

SikuliX では Java SE 8 が推奨されてるため、Java SE Downloads から Java SE 8 の JRE をダウンロードします。

Java SE 8 のインストール後、環境変数の PATH へ通しておき Java コマンドが使える状態にしておきます。

> java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

2. SikuliX のインストール

SikuliX の download page から sikulixsetup-1.1.3.jar をダウンロードします。
(※2019/02/21 現在、最新バージョンは 1.1.3 です)

ダウンロードした jar ファイルは C:\SikuliX フォルダへ配置しておきます。
Windows のコマンドプロンプトを起動し、以下のコマンドを実行します。

> cd C:\SikuliX
> java -jar sikulixsetup-1.1.3.jar

確認ダイアログが表示されるので「はい」ボタンで続行します。

sikulix1.png

しばらくすると、セットアップのダイアログが表示されるので「1」にチェックを付けて「Setup Now」ボタンでセットアップを開始します。
ちなみに、「2」のチェックは必須ではありません。 NetBeansEclipse から Java の API を使用して開発を行う場合のみチェックを付けてください。

sikulix2.png

セットアップ内容の確認ダイアログが表示されます。「はい」ボタンで続行します。

sikulix3.png

セットアップが完了するとダイアログが表示されるので「OK」ボタンで閉じます。

3. SikulixIDE の起動

C:\SikuliX フォルダに runsikulix.cmd ファイルが配置されるのでコマンドプロンプトから実行します。

> runsikulix.cmd

しばらくすると SikulixIDE 1.1.3 が起動します。

sikulix6.png

「ファイル」メニューから「名前を付けて保存」を実行し、フォルダ名を「test」として保存します。
保存すると以下のようにフォルダが生成されます。

C:\SikuliX\test.sikuli

4. 自動化の操作の記録

自動化したい操作は SikulixIDE から簡単に作成することができます。
SikulixIDE の左上にある「スクリーンショットを撮る」ボタンをクリックします。

sikulix14.png

「Select an image」というメッセージとともに画面が暗くなります。
この状態で SikuliX に自動でクリックしてほしいエリアを選択します。

sikulix12.png

今回は左下の Windows のスタートボタンをクリックすることにします。
スタートボタンのエリアを矩形選択します。

sikulix13.png

エリアを選択すると、SikulixIDE 画面が再び表示され、選択したスタートボタンの画像が表示されます。

sikulix7.png

スタートボタンをクリック後は Hello World! と入力するようにしてみます。

スタートボタン画像を「click」で囲み、「type」を追加して「Hello World!」となるようにスクリプトを修正します。
修正したら ctrl + s キーで保存しておきます。

click([スタートボタン画像])
type("Hello World!")

sikulix10.png

5. 自動化した操作の実行

作成したスクリプトを SikulixIDE 上で実行してみます。
SikulixIDE の「実行」ボタンをクリックすると自動化した操作をその場で試すことができます。

sikulix.gif

正しく実行されると、Windows のスタートボタンが自動でクリックされ、Hello World! という文字が自動で入力されます。

このように、SikuliX のスクリプトへ自動化したい操作を入力しておくことで決まった操作を自動で実行してくれるようになります。この仕組みを応用することで従来は難しかったWindowsの画面の操作であったりExcelの操作も自動化できるため、自動化の世界は広がります。

特に注目すべきは、クリックしてほしいエリアの画像をスクリプトから指定するだけで実行時に自動判定され、画像と一致するエリアを正しくクリックしてくれるところです。RPA は非常に賢くて便利ですね。

今回は SikulixIDE からの実行のみを試しましたが、SikuliX には API が提供されているため、プログラムに組み込んで自動化の仕組みを作ることもできます。ぜひ RPA を活用して業務の効率化を図ってみてください。

82
113
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
82
113

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?