[1.1.4] RobotFramework: scripts not embedding screenshot into log --- needs robot 3.0.4 --- fixed 2018-09-19

Bug #1793035 reported by Ryan on 2018-09-18
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Sikuli
Critical
RaiMan

Bug Description

Hello,

I have been using Sikuli 1.1.4 (2019-09-12_07-01) with the robotframework-3.0.4 JAR distribution to add screenshots to my log files for visual verification. I have been unable to have the screenshot added to the log when I run the script through the Sikuli IDE.

However, running the same script, I have been able to have the screenshot correctly embedded with both RF (normal installation) as well as running the RF JAR distributable - same distributable I am running with the Sikuli IDE - from the commandline.

Here is the what I am using to run via the command line: java -jar C:\Users\[user]\AppData\Roaming\Sikulix\Extensions\robotframework-3.0.4.jar C:\Users\[user]\Desktop\test2.sikuli.robot

This is my simple RF script I am running from Sikuli:

runScript("""
robot

*** Settings ***
Library Screenshot

*** Test Cases ***
Try to take a screenshot
   Take Screenshot mypic 80%

""")

REPRO:

1. Load Sikuli 1.1.4 (2019-09-12_07-01) onto a Win10 64bit machine
2. Download robotframework-3.0.4.JAR and place it in C:\Users\[user]\AppData\Roaming\Sikulix\Extensions
3. Open Sikuli and write a script as described above
4. Run the script

RESULT:

All expected logs/reports/images are created, but the jpg is not embedded in the log.html file.

EXPECTED:

img is embedded in the log file

Ryan (ryan-g2) wrote :

I ended up finding a solution to this - there is still an issue with Sikuli out of the box, but here is my workaround:

- I installed robotframework via pip (which installed RF 3.0.4)
- I copied the robot folder from my Python folder (where pip installed RF) and replaced the robot folder in Sikuli's AppData folder (C:\Python27\Lib\site-packages\robot -> C:\Users\[user]\AppData\Roaming\Sikulix\Lib\robot
- At this point, the image still was not embedding itself.
- I then removed the RF JAR file from the Extensions folder

Now, I am seeing my image embed itself in the log file when I run my RF script via Sikuli IDE.

Thanks for finding.

I will upgrade the bundled Robot stuff to the latest version (3.0.4?)

summary: - Robot scripts not embedding screenshot into log
+ [1.1.4] Robot scripts not embedding screenshot into log
summary: - [1.1.4] Robot scripts not embedding screenshot into log
+ [1.1.4] RobotFramework: scripts not embedding screenshot into log
Changed in sikuli:
status: New → Fix Committed
importance: Undecided → Medium
assignee: nobody → RaiMan (raimund-hocke)
milestone: none → 1.1.4
RaiMan (raimund-hocke) wrote :

Please test with the build from today.

Take care, that your modifications are removed from the SikuliX environment.

Changed in sikuli:
importance: Medium → Critical
summary: - [1.1.4] RobotFramework: scripts not embedding screenshot into log
+ [1.1.4] RobotFramework: scripts not embedding screenshot into log ---
+ needs robot 3.0.4 --- fixed 2018-09-19
Ryan (ryan-g2) wrote :

Deleted the entire Sikuli folder in AppData, the JAR file of the previous build and also uninstalled RF through pip.

I downloaded and tested build # 2018-09-19_07:17. Images are now embedding in the log file! Thanks for the quick turn-around :D

One note, I kept seeing this error ('No installed runner supports (text/python) Trying to run the script will crash the IDE!') when starting Sikuli and loading up my previous script until I downloaded a JAR distribution of Jython-2.7 and put it in the Extensions folder. To be fair, I apparently uninstalled my Jython installation previously, so that may be the reason for seeing this error. I am mainly mentioning this since I am not sure if this is correct behavior or not.

If not, I can open another issue about it.

Regardless, the image embedding issue is fixed with this new build.

RaiMan (raimund-hocke) wrote :

Thanks for the confirmation.

... and yes, the Jython problem came up, because you deleted it before from the environment ;-)

I know, that I have to improve the scripting support handling (which had to be changed significantly due to Java 9+, that does not allow any longer to dynamically manipulate the Java class path)

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers