質問

私は、情報を探していたアプリケーションを自動化するために[私は「ベストプラクティス」を推測することを躊躇します]。私は特に、従来の手動手段ユーザーによってスケジュールと「自動的に」行われているものと、[GUIを操作する人間]を通じて予想通り再現可能であることを交換を参照しています。

私たちは、並行して、アプリケーションのとの対話「偶然」自動テストを実行するために内部のAutoItを使用して、私たちのアプリケーションの無人処理を提供するための同様のアプローチを検討しているが、我々は原因ユーザーの可能性に消極的ですのため、予定の「自動化」の実行と、と「壊す」のオートメーションます。

既知のイベントとアクションの定義済みのセットを制御するための固定の引数を持つ当社独自のスケジューラにおける建物のシャイ、何が私は必要とされるであろうツールを検討および/評価すべきアプローチ?

追加情報: いくつかは、アプリケーションのコンテキスト内で、「バッチ処理」として、この機能を参照することになります。

役に立ちましたか?

解決

一般的に、UIを自動化する危険な練習です。これは、短期的な問題のために有用ハックすることができます:私は自分自身は、いくつかの状況では、いくつかの退屈なタスクを実行するためにAutoHotkeyをを使用して見つける...しかし、タスクが変化する(すなわち、1時間を実装するコードを書くの価値がない場合にのみ、 15分の作業)。

それ以外の場合、あなたはおそらく、いくつかの画面のラグ応答による矛盾の実行、矛盾のUIなどに苦しむだろうほとんどのアプリケーションは、利用可能なAPIを持って、はるかに痛みを伴う99でそれを取得し、使用してよりになるだろう使用していません例%ます。

そこにはUIはありません、あなたはスクリーンスクレイピング/操作に還元されることに不幸が、可能な状況では、自動テストを実行するツールは、おそらくあなたが得るほど良いです。それはあなたがのようにの(ある程度)アプリの状態とは、いくつかのセーフティネットを構築することができます確認することができます。また、私は、このタスクにワークステーションを捧げます...ロックされ、キーボードとマウスを使って離れて好奇心のユーザーから。 (リモートデスクトップまたはVNCスタイルの接続は、この適しています:あなたは、プロセスをキックオフし、切断することができ、改ざんにそれが耐性を作る。)

しかし、私は必死に最後の手段としてそのアプローチを検討します。 APIを操作遠く、遠く、遠く、遠くに(私はそこに十分な「ファルス」を手に入れた?)されて、より持続可能ます。

他のヒント

私が正しく理解していれば、あなたが自動化されたやりたいの処理の特定のソフトウェアシステムでアクションの定義済みリストを実行しますいくつかのツールを使用して。この自動化は異なっている

テスト

私が処理を実行するために、テストのために意味のツールを使用しないようにあなたを促すだろう。多くの主要なソフトウェアシステムを使用して、直接ユーザーとの対話なしでアクションを実行するために使用できるパブリックAPIを持っています。これは、自動化プロセスをスケジュールするはるかに堅牢で信頼性の高い方法です。あなたが作業しているソフトウェアのベンダーに連絡し、時々のAPIのリクエストも承ります。

GodekeとDaveが利用可能な場合、APIは、最適なルートである、ことを絶対的に正しいです。しかし、事実上これは時々可能ではない、とあなたは、GUI自動化ルートを行かなければなりません。問題が発生した場合、それは、デバッグが容易であるか、後戻りするように自動化を実行するために、前述の専用ワークステーション(複数可)に加えて、私は、いくつかの監査証跡でのコーディングをお勧めします。あなたのバッチ処理の自動化は、それらが処理され、それらがどのように処理されたときのレコードが、処理されたかの詳細なログを維持する必要があります。 (ネイティブアプリケーションで)レコード自体は、それが自動化を介して処理/更新されたことを反映するように、あなたはそれを設定する必要があります。例えば、各レコードが更新ノート/コメント欄がある場合は、「自動化、ユーザによって処理のように、自動化は、このフィールドにテキストを追加する必要があり、2009年2月25日10時05分11秒AM、フィールドは 'に 『ABC123』から変更アカウントDEF456' 」その方法は、自動化された改造を手動GUIでレコードを引き上げ、ユーザーには容易に明らかであろう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top