完璧ではありませんが、これについて私が見つけた最高のものは AutoIt http://www.autoitscript.com/autoit3です
「AutoIt v3 は、Windows GUI と一般的なスクリプトを自動化するために設計された、フリーウェアの BASIC に似たスクリプト言語です。シミュレートされたキーストローク、マウスの動き、およびウィンドウ/コントロール操作の組み合わせを使用して、他の方法では不可能または信頼できない方法でタスクを自動化します。また、AutoIt は非常に小さく、自己完結型であり、煩わしい「ランタイム」を必要とせずに、箱から出してすぐに Windows のすべてのバージョンで実行できます!"
これは、駆動するコントロールのリソース ID 番号を使用できるため、駆動されるアプリケーションのソース コードにアクセスできる場合にうまく機能します。このようにして、特定のピクセルでのシミュレートされたマウス クリックについて心配する必要はありません。残念ながら、レガシ アプリケーションでは、リソース ID が一意ではなく、問題が発生する可能性があります。でも。ID を一意に変更して再構築するのは非常に簡単です。
もう 1 つの問題は、タイミングの問題が発生することです。私は、これらに対する実証済みの真の解決策を持っていません。試行錯誤は私が使用したものですが、これは明らかにスケーラブルではありません。問題は、スクリプトが次のコマンドを発行したり、正しい応答を確認したりする前に、AutoIT スクリプトがテスト アプリケーションがコマンドに応答するのを待たなければならないことです。待機して監視するのに便利なイベントを見つけるのは簡単ではない場合があります。
私の感覚では、新しいアプリケーションを開発する際に、一貫した方法で「READY」を知らせることを主張したいと思います。これは、人間のユーザーだけでなく、テスト スクリプトにも役立ちます。これはレガシーアプリの課題かもしれませんが、問題点に導入し、メンテナンスを重ねながらゆっくりとアプリ全体に広げていくことができるのではないでしょうか。