SikuliIDEを使用しています。スクリーンショットを撮るコマンドが何であるか知りたいので、テストの最後に画面をキャプチャできます。
このようなもの
try :
if bla bla bla:
print("blablabla")
else:
TAKESCREENSHOT() #------------------> What command do I put here?
print("TEST_FAILED")
関数はcapture
です。
screen = Screen()
file = screen.capture(screen.getBounds())
print("Saved screen as "+file)
スクリーンショットを撮り、ファイルに保存して、そのファイルへのパスを返します。
詳細については、 Sikuliのドキュメント を参照してください。
スクリーンショットの安価なSikuliのトリックは、定義された領域を用意してから、その領域をキャプチャすることです。
したがって、キャップしたいChromeブラウザがある場合は、次のように設定してください。
_App.focus('Chrome.app')
ChromeWindow = App('Chrome.app').window()
_
これにより、コンピューターがターゲットアプリケーションに焦点を合わせ、アプリケーションのウィンドウパラメーターで構成される領域が定義されます。次に、これを実行します。
_capture(ChromeWindow)
_
次に、shutil(_import shutil
_)を使用して、ローカルディレクトリ内の必要な場所にファイルを移動します。私は通常、そのコードパイルを必要なときに呼び出すことができる関数に入れますTakePicture(Name)
ここで、Name
は、特定のテストで呼び出されたときにscreencapを呼び出したいものです。 Sikuliは強力で簡単です!
フォーカスのあるウィンドウのスクリーンショットを簡単に作成するには、次のコマンドを使用できます。
focusWindow = App.focusedWindow()
regionImage = capture(focusWindow)
shutil.move(regionImage, os.path.join(r'C:\Screenshots', 'Dummy1.png'))