26

Windowsシミュレーションパッケージを使用して、毎回わずかに異なるオプションで繰り返しタスクを実行する必要があります。

私は繰り返しクリックするのが嫌いなので、怠惰と人間がもたらすエラーの量の両方を理由に、このプログラムを自動的に駆動したいと思います。問題のプログラムはスクリプトをサポートしていません。API、COM、nada、nyet、nravinはありません。私の知る限り、このプログラムを自動的に駆動する唯一の方法は、人間を模倣することです(つまり、キーボードとマウスのマクロ)。

私はAutoHotKeyを知っていますが、それが私が望むことをしているとは思いません。(または、私が望むことを実行するかもしれませんが、そのスクリプト言語はひどいです。)

要件は次のとおりです。

  • アクション間の時間遅延、またはアクションをトリガーするイベント検出を許可する必要があります。

    シミュレーションの実行には最大10分かかることがあるため、GUIドライバーは、シミュレーションが終了するまで待ってから、新しいシミュレーションを開始する必要があります。

    これを行う1つの方法は、10分待って、シミュレーションが終了することを期待することです。別の方法は、イベント駆動型にすることです。つまり、[シミュレーションの実行中...]ダイアログが消えて、[シミュレーションの完了]ダイアログに置き換わるのを監視します。

  • 複雑なキーボード入力の構成を許可する必要があります。

    必要なキーボード入力の一部は、シミュレーションの実行ごとに異なります。たとえば、シミュレーションの説明は形式[Project name][Scenario name][Option 1][Option 2]...をとる場合があり、これはシミュレーションごとに入力する必要があります。

    AutoHotKeyを使用すると、基本的なレベルの入力のカスタマイズが可能になることは承知していますが、ドキュメントをさりげなく読むと、スクリプト言語はある種の厄介な恐怖のように見えます。

  • これは仕事用であるため、ソリューションは商用利用のために無料である必要があります。

上記の基準に適合するソリューションを受け入れますが、 Pythonから駆動できるものを強く好みます。ただし、自分がやりたいことを実行するためにカスタマイズできる自動化されたGUIテストツールも受け入れます。おそらく、ブラウザー用のSeleniumに相当するWin32 GUIですか?-カスタム出力を生成するキーボードマクロレコーダー、またはその他の機能するもの。

4

6 に答える 6

11

Sikuliは、画像(スクリーンショット)を使用してグラフィカルユーザーインターフェイス(GUI)を自動化およびテストするためのビジュアルテクノロジーです。Sikuliには、Jython用のビジュアルスクリプトAPIであるSikuli Scriptと、スクリーンショットを使用してビジュアルスクリプトを簡単に作成するための統合開発環境であるSikuliIDEが含まれています。Sikuli Scriptは、内部APIのサポートなしで、画面に表示されるものをすべて自動化します。Webページ、Windows / Linux / Mac OS Xデスクトップアプリケーション、またはシミュレーターまたはVNCを介して実行されているiphoneまたはandroidアプリケーションをプログラムで制御できます。

シクリを見てください、それは私のために働きました。

于 2012-03-14T09:53:42.330 に答える
6

Automaを見てください-それはPythonで書かれています。スタンドアロンツールとして、または独自のスクリプトでPythonライブラリとして使用できます。

from automa.api import *

クリック、プレス、書き込みなどのコマンドを使用して、Windowsアプリケーションを自動化できます。

自動化スクリプトのいくつかの例は、http://www.getautoma.com/blog/category/ui-automation-examplesにあります。

免責事項:私はAutomaの開発者の1人です。

于 2013-03-12T13:13:25.340 に答える
6

この https://pywinauto.github.io/を見てください

Pythonスクリプト自体を使用して、Windowsアプリケーションを制御できます。

利点は次のとおりです。

  • 新しい言語/構文を学ぶ必要はありません
  • 他の既存のスクリプトと簡単に統合できます
于 2017-01-08T03:31:03.877 に答える
5

Autohotkeyに別の外観を与えてください。あなたの要件から、それは仕事に適しているようです。

または、MicrosoftのUIオートメーションを確認してください:http://msdn.microsoft.com/en-us/library/ms747327.aspxおよび白:http ://white.codeplex.com/

于 2012-03-14T19:55:22.453 に答える
1

Windows、macOS、およびLinuxで動作するPython用のPyAutoGUIライブラリを使用できます。

アクション間の時間遅延を許容する必要があります。

各キーの間に1/4秒の休止を入れて入力する例:

import pyautogui
pyautogui.typewrite('Hello world!', interval=0.25)

次に、各PyAutoGUI呼び出しの後に2.5秒の一時停止を設定する例を示します。

pyautogui.PAUSE = 2.5

複雑なキーボード入力の構成を許可する必要があります。

何かを入力するために使用できるキーボード制御機能をチェックアウトします。pyautogui.typewrite変数を渡して、複雑なキーボード入力を許可できます。

アクションをトリガーするイベント検出。

ロケート関数を使用すると、画面上の何かを視覚的に見つけて、単純なループ内でそれに基づいて条件を作成できます。

ソリューションは、商用利用のために無料である必要があります。

これは、商用利用を許可するBSDの下でライセンスされています。


参照:

于 2018-01-07T14:40:37.933 に答える
0

RIATestはPythonを使用していませんが、それ以外の点では問題ありません。Seleniumに似ていますが、Win32Web用です。

RIATestはWindowsUIAutomation APIを使用し、GUIをUIオートメーションに適切に公開するすべてのWindowsアプリケーション(すべてのネイティブアプリと.NETアプリを含む)を駆動できます。

免責事項:私はRIATestの会社であるCogitekで働いています。

于 2013-05-09T14:16:37.587 に答える