スキップしてメイン コンテンツに移動

Android端末の操作を自動化する

システムの運用保守をやってると、必ず実機確認(サービス正常性確認)というモノをやらされる訳であります。
スマホアプリ操作なんかだと、複雑なうえに素早く実施しないとイケない。
はっきり言って、アラフォー男子には限界があります。そこで自動化を思いつきます。
FRep - Finger Replayerが有力そうだけど、Root化しないとイケない?業務端末では無理です!!
有償で良さ気なソフトもありそうですが、まずは自力でチャレンジ。調べて見るとadbコマンドを使ってタップやスワイプのイベントを端末に送信できることがわかりました。早速、作業に取り掛かります。

2015/05/05 時点でリリースされている最新版を使って開発環境を構築します。
開発環境となるPCのOSはWindows7 Professional SP1 64bit。
作業は全て管理者権限が付与されたユーザで実施しています。

1. Android SDK をインストール
ここからAndroid SDKをダウンロードします。
サイトの下の方に「SDK Tools Only」があるので、そこから[installer_r24.2-windows.exe]をダウンロードしてインストールします。


次にシステム環境変数の中の[Path]変数を編集し、以下のパスを登録します。
"C:\android-sdk-windows\platforms"
"C:\android-sdk-windows\tools"
  ※"C:\"はご自身のインストール先によって異なります。

2. PCにAndroid端末を繋げる
①Android端末本体の「設定」から「アプリケーション」>「開発」>「USBデバッグ」にチェック。
②Android端末をUSBでPCに接続。
③コマンドプロンプトを立ち上げ、adbコマンドで端末の接続を確認。
 > adb devices

以上で準備が整いました。
3. 画面キャプチャを撮って、座標を調べる
次に画面を操作する為、座標を調べます。画面キャプチャをペイント等のアプリで開いてみましょう。図の左下に座標が表示されます。ここではFacebookアイコンにカーソルを当てています。


4. 実際にコマンドで画面を操作してみる
DoSプロンプトから以下のコマンドを入力してみましょう。
 > adb shell input tap 1185 1713
ここでは、PCにつないだ端末の画面でFacebookアイコンがタップされました。このようにタップであれば「adb shell input tap X Y」、スワイプであれば「adb shell input swipe X1 Y1 X2 Y2」コマンドを使えば、画面を操作することができます。
※XYは座標 

5. 本題の自動化を試みる
コマンドと座標の組み合わせをバッチファイルにしてしまえばよい。
バッチファイル:hoge.bat
@echo off

SET startdate=%date%
SET starttime=%time%

SET /p ans="Run?(y)>"
IF /i NOT "%ans%" == "y" GOTO END

echo "アプリの起動"
adb shell input tap 1185 1713
rem SET /p ans="exit?(n)>"
IF /i "%ans%" == "n" GOTO END

echo "ボタンをタップ"
adb shell input tap 900 580

:END

echo 処理開始:%startdate% %starttime%
echo 処理終了:%date% %time%

@echo on
 このようなバッチファイルが用意できたら、DoSプロンプトから実行してみましょう。
 > hoge.bat
勝手に端末が動き出したと思います。今回のバッチではSETコマンドで実行可否を判定しています。終了させない場合は、1アクション毎に"n"以外をキー入力すると実行される為、半自動化となっています。
半自動化にしたのは、画面のロード時間が必要とされる為です。用途にあわせてSLEEP等を代用して貰えれば、自動化されたバッチ処理が実現できると思います。

コメント

このブログの人気の投稿

サイクリング ~ 桂川サイクリングロード ~

 平日に休みが取れたので、前々から試してみたかった 桂川サイクリングロード 制覇にチャレンジしてみた。 ■ 基本情報  ・名称: 桂川サイクリングロード  ・路線名/府道京都八幡木津自転車道線  ・起点/京都市西京区嵐山河原町(渡月橋右岸)  ・終点/木津川市木津雲村(泉大橋左岸)  ・道路延長/約45キロメートル 幅員/3メートル  ・URL: http://www.pref.kyoto.jp/doroke/bic-kidu.html  往復で90キロといい感じのコース、ただし本日は強風。川沿いは風を遮るものが何もないのでダイレクトに風を受けてしまいます。 スタート地点の嵐山 途中に現れる流れ橋(上津屋橋)   ゴール地点の木津 無事にゴール。しかし帰り道、50キロを過ぎると右膝の後ろが痛くなる。 フォームが悪いのか、研究が必要だな。

書籍レビュー『ストーリーとしての競争戦略』(著者:楠木 建)

書籍名:『ストーリーとしての競争戦略』 ( 著者:楠木 建 ) 日時:2020年12月20日~ 各章の紹介 第1章 戦略は「ストーリー」 ストーリーの戦略論とは何であり、何ではないかをお話しし、ストーリーとしての競争戦略という視点を明らかにします。 第2章 競争戦略の基本論理 本題に入る準備として、競争戦略というものの考え方が立脚している基本論理について、その本質部分をおさらいします。 第3章 静止画から動画へ 「筋の良い」ストーリーとは何か、優れた戦略ストーリーの条件についてお話しします。 第4章 始まりはコンセプト ストーリーとしての競争戦略のカギとなる二つの論点、具体的には戦略ストーリーの基点となる「コンセプト」と、ストーリーのキラーパスともいえる「クリティカル・コア」について話を深めたいと思います。 第5章 「キラーパス」を組み込む ストーリーという戦略思考の最大の強みである持続的な競争優位の論理を明らかにします。 第6章 戦略ストーリーを読解する ガリバーインターナショナルを例にとって、優れた戦略ストーリーの読解をしたいと思います。同社が構想し、現実に動かし、成功をもたらしたストーリーをじっくり読み取り、優れたストーリーの条件についての理解を深めることがこの章の目的です。 第7章 戦略ストーリーの「骨法10ヵ条」…それまでの議論のまとめとして、優れた戦略ストーリーを描くための「骨法」のようなものをお話ししたいと思います。 第1章 戦略は「ストーリー」