daluu / jrobotremoteserver-1.x

The original discontinued jrobotremoteserver now hosted here due to Google Code's demise
http://code.google.com/p/jrobotremoteserver
0 stars 0 forks source link

Stop Remote Server keyword not recognized by Robot Framework #1

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Run Robot Framework test that calls remote library keyword "Stop Remote 
Server" and observe test output.

Or

1. Run libdoc.py against the remote library and observe generated documentation.

What is the expected output? What do you see instead?

Get error message for test that keyword does not exist. Documentation generated 
by libdoc.py does not show the keyword, even though it is implemented (to spec 
I believe).

Original issue reported on code.google.com by manga...@gmail.com on 25 Mar 2011 at 6:14

GoogleCodeExporter commented 9 years ago
FYI, I've implemented this keyword for the remote server the same way I've done 
it for the .NET version. But the .NET version's keyword works while this one 
doesn't for some reason. I believe I've built it to spec against the Robot 
remote lib API.

To validate implementation w/o use of Robot, use XML-RPC messaging:

Send this request:

<?xml version='1.0' 
encoding='UTF-8'?><methodCall><methodName>get_keyword_names</methodName><params>
</params></methodCall>

and expect to see the keyword in response like this:

<?xml version="1.0" 
encoding="UTF-8"?><methodResponse><params><param><value><array><data><value><str
ing>count_items_in_directory</string></value><value><string>strings_should_be_eq
ual</string></value><value><string>stop_remote_server</string></value></data></a
rray></value></param></params></methodResponse>

Send this:

<?xml version='1.0' 
encoding='UTF-8'?><methodCall><methodName>run_keyword</methodName><params><param
><value><string>stop_remote_server</string></value></param><param><value><array>
<data></data></array></value></param></params></methodCall>

and expect 2 things...

1 is get this response like this:

<?xml version="1.0" 
encoding="UTF-8"?><methodResponse><params><param><value><struct><member><name>er
ror</name><value><string></string></value></member><member><name>status</name><v
alue><string>PASS</string></value></member><member><name>traceback</name><value>
<string></string></value></member><member><name>return</name><value><i4>1</i4></
value></member><member><name>output</name><value><string></string></value></memb
er></struct></value></param></params></methodResponse>

2 is to expect server to shut down remotely. Verify by watching the 
console/command line where the server was started. You should see output 
stating server will shutdown in one minute after request is made. Then one 
minute later, output will state server shut down at indicated timestamp.

All this works for Java and .NET implementations, but when call the keyword 
from Robot for Java implementation, it isn't recognized. I assume that somehow 
Robot (or libdoc.py) doesn't see or get this keyword when calling 
get_keyword_names. I'll have to confirm with a network packet capture. 

Otherwise, may be something in my Java code but don't think so.

Original comment by manga...@gmail.com on 25 Mar 2011 at 6:33

GoogleCodeExporter commented 9 years ago
FYI test XML-RPC messaging with a REST client like plugins available to Chrome 
and Firefox. Send an HTTP POST with the XML-RPC message as POST DATA.

Original comment by manga...@gmail.com on 25 Mar 2011 at 6:34

GoogleCodeExporter commented 9 years ago
Turns out issue is I neglected to account for stop remote server in calls to 
get keyword args and documentation, resulting in XML-RPC fault code exception 
when said calls are made resulting in RF/libdoc.py ignoring the keyword 
(separate bug to file with RF).

I've fixed the code in source repository. Now just need to validate fix and 
package source & binaries for download.

Original comment by manga...@gmail.com on 29 Mar 2011 at 6:01

GoogleCodeExporter commented 9 years ago

Original comment by manga...@gmail.com on 30 Mar 2011 at 6:06

GoogleCodeExporter commented 9 years ago
To be fixed in next patch release, forgot to fix during last patch release.

Original comment by manga...@gmail.com on 18 Sep 2011 at 1:16

GoogleCodeExporter commented 9 years ago
This should also be fixed with the new release at 
https://github.com/ombre42/jrobotremoteserver

Original comment by manga...@gmail.com on 21 Jul 2012 at 5:53