2013-05-25 11 views
11

Sto usando Sikuli IDE. Mi piacerebbe sapere qual è il comando per fare uno screenshot, quindi posso catturare lo schermo alla fine di un test.Qual è il comando per scattare una foto in Sikuli

Qualcosa di simile

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

risposta

13

La funzione è capture, come in

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

Ci vuole uno screen-shot, lo salva in un file, e ti dà il percorso di tale file indietro.

Vedere Sikuli documentation on it per tutti i dettagli.

+1

Questo lancerà la schermata di cattura dello schermo manuale. Se è necessario uno screenshot automatico, devi fornire le coordinate: screen.capture (screen.x, screen.y, screen.w, screen.h) – kel

+0

@kel grazie per la cattura. Risolto come cattura dell'intero schermo non interattivo. –

4

Il trucco Sikuli economico per screencaps è avere un'area definita, quindi acquisire la regione.

Quindi, se hai un browser Chrome che si desidera ricoprire, è sufficiente impostare in su qualcosa di simile:

App.focus('Chrome.app') 

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

Che vi sia concentrerà il computer per l'applicazione di destinazione, e definire una regione composta da i parametri della finestra dell'applicazione. Quindi eseguire questo:

capture(ChromeWindow) 

Quindi utilizzare shutil (import shutil) per spostare il file intorno a tutto ciò che è nelle vostre directory locali. Di solito metto quella pila di codici in una funzione che posso chiamare quando necessario TakePicture(Name) dove Name è quello che voglio chiamare lo screencap quando viene chiamato in un particolare test. Sikuli è sia potente che facile!

0

Per fare uno screenshot della finestra attiva si può usare semplice:

focusWindow = App.focusedWindow() 
regionImage = capture(focusWindow) 
shutil.move(regionImage, os.path.join(r'C:\Screenshots', 'Dummy1.png')) 
Problemi correlati