web-dev-qa-db-ja.com

GUIアプリケーションをプログラムで制御する方法は?

私には、アプリケーションを実行するために使用する必要のあるアプリケーションのユーザーインターフェイスを持つユーザーが2人います。 UIは、いくつかのタイムクリティカルなタスクを実行するためにナビゲートするのが面倒な場合があります。

このUIはAPIを公開せず、統合ポイントもありません。

ユーザーがさまざまなタスクを実行できるように何かできることがあると思います。

VS2013のコード化されたUIテストを使用して、ユーザーのPCで実行される独自のコードの一部からUIを制御できるようにする可能性を検討してきました。明らかに、これは実際にコード化されたUIテストの対象ではありません。

他の誰かがコードを閉じたUIと統合するためにこのテクニックを試しましたか?どのくらい成功しましたか?同じ結果を達成する他のフレームワークを知っていますか?

もう少し詳しく(質問に読む必要はありません):問題のUIは、財務内のマーケットメーキングツールです。簡単にするために、規制の使用が強制されているとしましょう。現在、ユーザーはモデルを実行してから、入札およびオファーとしていくつかの値を手動でUIに入力します。これは時間がかかり、人為的エラーの可能性があります(コピーアンドペーストを使用した場合でも)。モデルから正しい値を取得し、画面上の正しいボックスに投稿するアプリを作成したいと思います。

私が制御できるもの:

  • 値を取得するアプリケーション
  • 統合ソフトウェア

私が制御できないもの:

  • マーケットメイキングUIとの関係

どんな提案やアドバイスも大歓迎です。

6
GinjaNinja

あなたはおそらくそれを機能させることができます。ただし、コード化されたUIまたはその他のテストフレームワークを使用する場合、さまざまなボタンやその他の要素を簡単に選択して操作できるようにコードを変更することに大きく依存していることがわかりました。

すぐに使える自動化製品を購入する方が簡単だと思います

1
Ewan

SpockとSeleniumを調べましたか? Spockはページをロードでき、SeleniumはUI要素を操作できます。これはテスト以外の目的で設定でき、問題なく実行できるはずです。注意する必要があるのは、アクティブ化する必要のあるUI要素があり、何かが読み込まれるのを待ってから続行する必要がある場合は、事態が複雑になる可能性があります。必要な時間待機するように指示する場合、いくつかの創造的なコーディングが必要になる場合があります。

セレンは、多くの場合、それを頻繁に使用する必要があるほとんどの人に愛されていませんが、機能します。実行されるスクリプトを設定して、UIで一連のアクションを実行できるようにする必要があります。

1
JBiggs