この記事は、NTTコムウェアNTTコムウェアAdvent Calendar 2021 11日目の記事です。
#はじめに
NTTコムウェアの増田です。普段はシステム開発現場にてシステム実装方式(主にインフラ周り)のサポート業務をしています。ただ、これまでの開発経験でプログラミングをほぼやってこなかった為、コーディング知識が低いコンプレックスを持っていました。今回は、そんなプログラミングほぼ未経験の私が業務自動化で使われるRPAツール”sikuliX”を使い、動かす事ができたのか記事にしてみました。プログラミングに自信がないけど自動化に興味ある方に読んでいただければ幸いです。
#RPAツールを使おうとした背景
コロナの影響でリモートワークが中心となった事に伴い、一人で仕事する機会が増えました。ある日に自分の仕事を振り返った所、頭をそこまで使わなくてもよい作業の割合が結構多くを占めている事に気づきました。それを契機に、やらなくていい作業は辞めたりしましたが、どうしてもやらないといけない作業は引き続きやっていた為、自動化できないものかと考えていたのがこの営みのきっかけとなります。
#SikuliXを選んだ理由
SikuliX(シクリエックス)は、自動UI操作ツールです。
SikuliX IDEを使って、Webアプリケーションの自動UI試験等を行うことができます。(他にもいろいろ)
操作したい箇所の画面のスクリーンショットを取っていくコード記述方法の為、感覚的に実装していくことができます。
つまり、プログラミングの経験がない私でも使えるのでは?と思いこのツールを選びました。
#SikuliXの動作環境について
仕事で使っているPC(OS Windows10)を動作環境として設定しました。
肝心のSikuliX本体は、以下サイトから"sikulixide-2.0.X.jar"をダウンロードしてデスクトップに格納しただけで環境準備できました。
・ダウンロードサイト
https://raiman.github.io/SikuliX1/downloads.html
注意
事前にJavaをインストールしておく必要があります。
私が作業環境としている会社のPCには幸いデフォルトでJDKが入ってた為JDKインストールは不要でした。
#実際にやってみた
"頭を使わなくてもよい作業"として"ブラウザを操作する作業"が多かった事から、今回は手始めにブラウザを立ち上げてページを表示する挙動を自動化する事にしました。
デスクトップに置いた"sikulixide-2.0.5.jar"をダブルクリックで起動すると以下画面が出てきます。
左の領域がコード記述用、右の領域が実行結果表示用になります。
さっそく、yahooのサイトを起動するコードを記述してみました。
コードの内容は、以下の通り
1(行目):デスクトップにあるGoogleChromeのアイコンを探してクリック
2(行目):ブラウザの新規タブ作成のアイコンを探してクリック
3(行目):新規ブラウザ画面のURLバーを探してクリック
4(行目):yahooサイトのURLを(3行目でしていたURLバーに)張り付け
5(行目):エンターキーを押下
探す画像の設定は、メニューにある「スクリーンショットを録る」を選択すると探したい画像をキャプチャできます。そしてコードができたところで、実際に動作するかドキドキしながら「実行ボタン」を押下。
動いた!結果しか載せられずエビデンスを示せず残念ですが動いてくれました。
もう少し気の利いたコードにすると以下の画面のようになるそうです。どの処理を実行しているか、エラー発生原因が何かまでハンドリングできるようにするともっと良いと後輩からアドバイスいただきました。
#やってみた感想
冒頭で述べた通りスクリーンショットと、基本操作click() paste() type()
だけで実装できた事もあり、もっと踏みこんだ実装をしたい気持ちになりました。
プログラミング苦手意識とかも気にならない程に感覚的で面白かったです。
また、この手のツールは開発環境を整えるのがメンドーだったりしますが、それもなく簡易にできた事も良い点だと思いました。
今回はブラウザ操作だけで終わってしまいましたが、OFFICEやメーラーとも連携させる事も出来るようなので、今後も自動化できる作業を頭を使いながらツールを利用してムダな作業を減らしていきたいと思います。
#参考サイト
https://valmore.work/setup-sikulix-2-0-4/