11

I'm using Sikuli IDE. I'd like to know what the command to take a screenshot is, so I can capture the screen at the end of a test.

Something like this

try :
  if bla bla bla:
    print("blablabla")
  else:
    TAKESCREENSHOT()  #------------------> What command do I put here?
  print("TEST_FAILED")
4

3 に答える 3

13

関数はcapture、のように

screen = Screen()
file = screen.capture(screen.getBounds())
print("Saved screen as "+file)

スクリーンショットを撮ってファイルに保存し、そのファイルへのパスを返します。

詳細については、Sikuli のドキュメントを参照してください。

于 2013-05-25T10:51:52.373 に答える
4

スクリーン キャプチャのための安価な Sikuli のトリックは、領域を定義してから、その領域をキャプチャすることです。

したがって、制限したい Chrome ブラウザーがある場合は、次のように設定するだけです。

App.focus('Chrome.app')

ChromeWindow = App('Chrome.app').window()

これにより、コンピューターがターゲット アプリケーションにフォーカスし、アプリケーションのウィンドウ パラメーターで構成される領域が定義されます。次に、これを実行します。

capture(ChromeWindow)

次に、shutil( import shutil) を使用して、ローカル ディレクトリ内の必要な場所にファイルを移動します。私は通常、そのコードの山を、必要なときに呼び出すことができる関数に入れます。特定のテストで呼び出されたときに、スクリーンキャップと呼びたいTakePicture(Name)場所はどこですか。NameSikuli は強力で簡単です。

于 2014-03-11T18:05:16.213 に答える