29

画面の自動化にはSikuliを使用しています。つまり、画面上の外観に従って GUI 要素をクリックします。これで問題なく動作しますが、Sikuli には 1 つの大きな欠点があります。

  • 各スクリプトの起動が遅い (毎回 JVM 全体がロードされるため)。

Sikuli の詳細については、昨年からあまり開発が行われていないため、代わりの自動化ツールを探しています。私が必要とする大きなチケットは、画面認識です。ツールは、マウスをそこに移動してクリックを発行するよりも、画面上の特定の UI 要素を「探す」必要があります。

Sikuli よりも高速で、おそらくより適切に管理されたツールの提案はありますか?

4

2 に答える 2

6

Windows で何かを自動化したい場合は、新しい軽量 GUI 自動化ツールであるAutomaをお勧めします。これは単純に UI 要素を「検索」します。ユーザーが行う必要があるのは、人間のユーザーに表示される名前を提供することだけです。実際、Sikuli よりも簡単に使用できます。スクリーンショットを撮る必要はありません。たとえば、Windows Live Messenger に自動的にサインインする場合は、次のスクリプトを実行できます。

start("messenger")
write("my.email@domain.com", into="Email address")
write("secret", into="Password")
click("Sign in")

または、同様に、資格情報を入力して Facebook に自動的にログインするには、次のコマンドを実行するだけです。

start("firefox")
write("facebook.com", into="Location")
press(ENTER)
write("my.email@domain.com", into="Email or Phone")
write("secret", into="Password")
click("Log in")

このツールは、どのようなテクノロジで記述されているかに関係なく、ほとんどの Windows アプリケーション (Web ブラウザーを含む) で動作します。Python で記述されており、インポート可能な API ライブラリを介して任意の Python アプリケーション内から使用できます。

Automa と Sikuli について: Automa は Sikuli と同じレベルですが、スクリーンショットは必要ありません。これにはいくつかの利点があります。

  • Automa スクリプトは、バージョン管理システムに保存する方が簡単です。
  • Automa スクリプトは純粋にテキストベースであるため、保守が容易になります。どこかでラベルが変更されることを想像してみてください。このラベルは、いくつかの Sikuli スクリーンショットに表示される場合があり、その場合は再撮影する必要があります。Automa を使用すると、ファイル全体を簡単に検索して置換するだけで済みます。
  • ユーザー インターフェイスの変更に関しては、より安定しています。色の変化やボタンの移動を数ピクセルだけ想像してみてください。
  • アプリケーションが存在する前にスクリプト/テストを作成できるなどのその他の優れた機能 - 既に機能/プログラムの仕様から、「ここをクリックして、これを入力して、「そこ」をクリックして」というスクリプトをいつでも作成できます。スクリーンショットでは不可能です。

開示:私はAutomaに取り組んでいます。

于 2012-10-08T20:05:06.547 に答える
2

WinForms アプリケーションまたは WPF アプリケーションの自動化を検討していますか? WPF を検討している場合は、Telerik の無料の Testing Frameworkをお勧めします。(開示: 私は Telerik のテスト スタジオ エバンジェリストです。)

スクリプト/テストは位置ではなく要素ベースであるため、テスト フレームワーク (または完全な Test Studio 製品) は WPF と非常にうまく連携します。

于 2012-07-17T16:38:26.717 に答える