sikuli / sikuli-slides

Sikuli-Slides is a visual automation tool that enables users to automate and test Graphical User Interfaces (GUIs) using presentation slides.
MIT License
65 stars 35 forks source link

Unable to use TIFF images in PowerPoint slides #41

Open whalen-enterprises opened 10 years ago

whalen-enterprises commented 10 years ago

Sikuli Slides 1.5 is unable to process TIFF images (screenshots) used in a PowerPoint file. On MacOS TIFF is the default image type output by the screen capture program Grab. When using these screenshots in a PowerPoint Sikuli Slides is unable to process the image and fails with the following exception:

$ java -jar sikuli-slides-1.5.0_macosx-x86_64.jar execute /Users/Test/Desktop/sikuli_website.pptx 0 [main] DEBUG org.sikuli.slides.api.Slides - execute slides with context Context{minScore=0.7, parameter={}, screenRegion=DesktopScreenRegion{screen=DesktopScreen{id=0}, x=0, y=0, width=1440, height=900, score=0.0}} 184 [main] DEBUG org.sikuli.slides.api.io.PPTXSlidesReader - PPTX bundle created: PPTXBundle{count=2, rootDir=/var/folders/5c/3_9vsdqs179cvs7twjbw21xc0000gn/T/1411635570186-0/sikuli_website} 400 [main] DEBUG org.sikuli.slides.api.parsers.SlideParser - result: Slide{number=0, text=Browse slides.sikuli.org, elements=[SlideElement{id=3, text=Browse slides.sikuli.org, offx=2098842, offy=3221789, cx=4866105, cy=762000, width=0, height=0, name=Rectangle 2, geom=rect, fontSize=0, order=0, lineColor=null, backgroundColor=null}]} 411 [main] DEBUG org.sikuli.slides.api.parsers.SlideParser - result: Slide{number=0, text=click, elements=[ImageElement{sourceUrl=null, fileName=/var/folders/5c/3_9vsdqs179cvs7twjbw21xc0000gn/T/1411635570186-0/sikuli_website/ppt/slides/../media/image1.tiff, super=SlideElement{id=4, text=null, offx=0, offy=736600, cx=9144000, cy=5363688, width=0, height=0, name=Picture 3, geom=rect, fontSize=0, order=0, lineColor=null, backgroundColor=null}}, SlideElement{id=5, text=, offx=6015789, offy=1791368, cx=1229895, cy=401053, width=0, height=0, name=Rectangle 4, geom=rect, fontSize=0, order=0, lineColor=null, backgroundColor=null}, SlideElement{id=6, text=click, offx=3435684, offy=1791368, cx=1657684, cy=401053, width=0, height=0, name=Rectangle 5, geom=rect, fontSize=0, order=0, lineColor=null, backgroundColor=null}]} 412 [main] TRACE org.sikuli.slides.api.AutomationExecutor - Execute 2 slide(s) 413 [main] INFO org.sikuli.slides.api.AutomationExecutor - Execute slide 1 of 2 484 [main] DEBUG org.sikuli.slides.api.interpreters.DefaultInterpreter - result:ParallelAction{actions=[SleepAction{duration=5000}, RetryAction{child=LabelAction{text=Browse slides.sikuli.org}}]} 490 [Thread-2] TRACE org.sikuli.slides.api.actions.LabelAction - executed. 5488 [main] TRACE org.sikuli.slides.api.actions.LabelAction - stopped. 5490 [main] INFO org.sikuli.slides.api.AutomationExecutor - Execute slide 2 of 2 5563 [main] DEBUG org.sikuli.slides.api.interpreters.DefaultInterpreter - result:ParallelAction{actions=[RetryAction{child=TargetAction{target=ContextImageTarget{image=file:/var/folders/5c/3_9vsdqs179cvs7twjbw21xc0000gn/T/1411635570186-0/sikuli_website/ppt/slides/../media/image1.tiff, x=(0.66,0.79), y=(0.20,0.27)}}}]} Exception in thread "Thread-4" java.lang.NullPointerException at org.sikuli.slides.api.sikuli.ContextImageTarget.getTargetBounds(ContextImageTarget.java:105) at org.sikuli.slides.api.sikuli.ContextImageTarget.doFindAll(ContextImageTarget.java:121) at org.sikuli.api.DefaultScreenRegion._find(DefaultScreenRegion.java:88) at org.sikuli.api.DefaultScreenRegion.find(DefaultScreenRegion.java:80) at org.sikuli.slides.api.actions.TargetAction.execute(TargetAction.java:26) at org.sikuli.slides.api.actions.RetryAction.execute(RetryAction.java:51) at org.sikuli.slides.api.actions.ParallelAction$Worker.run(ParallelAction.java:35) at java.lang.Thread.run(Thread.java:724)