11

我正在使用 Sikuli IDE。我想知道截屏的命令是什么,所以我可以在测试结束时截屏。

像这样的东西

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)中调用时Name我想要调用屏幕截图。Sikuli 既强大又简单!

于 2014-03-11T18:05:16.213 回答
1

要制作具有焦点的窗口的屏幕截图,您可以简单地使用:

focusWindow = App.focusedWindow()
regionImage = capture(focusWindow)
shutil.move(regionImage, os.path.join(r'C:\Screenshots', 'Dummy1.png'))
于 2015-08-14T13:35:42.690 回答