### ■ 概要
自社製Windowsアプリケーション製品に対するGUIテストを自動化するため、Appium+WinAppDriverを用いてExcel指示書からUI操作を実行できる社内RPAツールを個人開発しました。
操作ミスや手戻りを防ぎ、開発・テストの効率向上を目的としています。
リモートデスクトップ環境上で非同期にテストを実行できるよう、サーバー・クライアント構成も自作し、ローカル作業と並行して運用可能な体制を整備しました。
---
### ■ 背景・思考プロセス
* 社内でのGUIテストは手動操作と属人化が深刻で、工数・精度・記録性に課題がありました。
* 既存のRPAツールでは自社製アプリケーションの操作が安定せず、WinAppDriverを用いた自作が必要と判断しました。
* テスト担当者が非エンジニアであることから、「Excelを指示書とし、コードレスで動くUI自動化」という設計方針に至りました。
* また、作業の並列化やWindowsアプリケーションのRPA実行中はマウスやキーボードが使用できない(コントロールを奪われる)ため、物理フォーカス干渉を避ける非同期実行/排他制御が必要と判断し、サーバー・クライアント構成を独自に設計してリモートデスクトップ環境で動作できるようにしました。
---
### ■ 実現したこと・工夫点
* **ExcelファイルをRPAスクリプト化**
* 非エンジニアでも操作可能な指示書ベースの設計
* コントロール名・操作内容を記述するだけで自動操作
* 処理後は自動終了/ログ記録/スクリーンショット・PDF保存(命名規則自動付与)
* **SQL Serverと連携した値の自動補完**
* ExcelにはユーザーIDのみ記載 → パスワード等をDBから自動取得しログイン実行
* テスト手順の簡略化・ヒューマンエラー削減
* **リモート実行を可能にするサーバー/クライアント構成の設計**
* RDP上でExcelファイルを予約実行
* 操作中は排他制御し、完了後にクライアントへ通知(ポップアップ表示)
* UI操作によるフォーカス喪失を回避し、他作業との並行運用を実現
* **ログと画面記録による再現性の担保**
* エラー時はスクリーンショット+ログファイルに自動出力
* 複数回のテスト再実行や比較が可能に
---
### ■ 技術構成
* 言語・環境:C# (.NET Framework 4.7), Windows 10, Excel (.xlsx)
* 自動化:Appium 4.4.5, Windows Application Driver
* データベース:SQL Server
* アーキテクチャ:RPAツール(単体)+ サーバー/クライアント連携
---
### ■ 結果・展望
* 元々は全て手作業で行っていたテストデータ生成・不具合再現に要する時間を大幅に短縮
* 並列作業不可という運用上の課題も、RDP実行により解決
* 社内での活用実績こそ限られるものの、**RPA×GUI操作×非同期リモート実行**という設計は、将来的なクラウド展開やDaaS実行への応用も可能な設計となっています
---
### ■ チーム構成・体制
* 本ツールは要件定義から設計・実装・運用までを一人で完結しており、個人裁量による横断的な開発体制で実現されました。
* 社内利用者とのヒアリングや試行調整もすべて自ら行っており、実用に足る形に磨き上げるプロセスを通して、仕様整理力・問題解決力を高めてきました。
* 将来的なチーム導入・展開フェーズに備え、利用者側の習熟負荷を最小化するUI・Excel設計も強く意識しています。