Question

I'm trying to execute the SwingLibrary demo available in https://github.com/robotframework/SwingLibrary/wiki/SwingLibrary-Demo

After setting everything up (Jython, RobotFramework, demo app), I can run the following command:

run_demo.py startapp

, and it works (the demo app starts up).

Now if I try to run the sample tests, it fails:

run_demo.py example.txt

[ ERROR ] Error in file '/home/user1/python-scripts/gui_automation/sample-text.txt': Non-existing setting 'Library SwingLibrary'.
[ ERROR ] Error in file '/home/user1/python-scripts/gui_automation/sample-text.txt': Non-existing setting 'Suite Setup Start Test Application'.
==============================================================================
Sample-Text                                                                   
==============================================================================
Test Add Todo Item                                                    | FAIL |
No keyword with name 'Insert Into Text Field description ${arg}' found.
------------------------------------------------------------------------------
Test Delete Todo Item                                                 | FAIL |
No keyword with name 'Insert Into Text Field description ${arg}' found.
------------------------------------------------------------------------------
Sample-Text                                                           | FAIL |
2 critical tests, 0 passed, 2 failed
2 tests total, 0 passed, 2 failed
==============================================================================
Output:  /home/user1/python-scripts/gui_automation/results/output.xml
Log:     /home/user1/python-scripts/gui_automation/results/log.html
Report:  /home/user1/python-scripts/gui_automation/results/report.html

I suspect that it cannot find swinglibrary.jar, and therefore my plugin installation is probably messed up.

Any ideas?

Was it helpful?

Solution

Take a look at these error messages in the report:

[ ERROR ] Error in file '...': Non-existing setting 'Library SwingLibrary'.
[ ERROR ] Error in file '...': Non-existing setting 'Suite Setup Start Test Application'.

The first rule of debugging is to always assume error messages are telling you the literal truth.

They are telling you that you have an unknown setting. It thinks you are using a setting literally named "Library SwingLibrary" and one named "Suite Setup Start Test". Those are obviously incorrect setting names. The question is, why is it saying that?

My guess is that you are using the space-separated text format, and you only have a single space between "Library" and "SwingLibrary". Because there is one space, robot thinks that whole line is in the first column of the settings table, and whatever is in the first column is treated as the setting name.

The fix should be as simple as inserting two or more spaces after "Library", and two or more spaces after "Suite Setup".

This type of error is why I always recommend using the pipe-separated format. It makes the boundaries between cells much easier to see.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top