node-robotremoteserver icon indicating copy to clipboard operation
node-robotremoteserver copied to clipboard

support RF 3.1

Open Snooz82 opened this issue 6 years ago • 8 comments

I do not get the examples run.

When i try remote_tests.robot or libdoc i get errors.

[ ERROR ] Adding keyword 'countItemsInDirectory' to library 'Remote' failed: Calling dynamic method 'get_keyword_arguments' failed: ResponseNotReady: Request-sent

Also LibDoc does not work with examplelibrary.js or testlibrary.js

it seems to has general problems with async functions.

Snooz82 avatar Jun 17 '19 14:06 Snooz82

Hi @Snooz82 , how can it be reproduced? Please also provide node and robot versions.

comick avatar Jul 06 '19 19:07 comick

I found out, that the node-robotremoteserver does not work with Robot version 3.1rc1 or newer.

https://github.com/starjumper30/node-robotremoteserver

between 3.1b1 (26.10.2018) and 3.1rc1 (25.11.2018) there was a change which makes it impossible to use asynchronous Keywords anymore.

If i run the Tests or the examples of this Library i get the following error. [ ERROR ] Adding keyword 'doNothing' to library 'Remote' failed: Calling dynamic method 'get_keyword_arguments' failed: ResponseNotReady of course with different Keywords.

with older robot versions it worked fine.

It is regarding the method get_keyword_types the note remote server has not implemented this method and regarding Documentation it is not mandatory.

When i delete this from remote.py from class remote it works fine:

    def get_keyword_types(self, name):
        try:
            return self._client.get_keyword_types(name)
        except TypeError:
            return None

Any ideas? Should i raise an issue?

Snooz82 avatar Jul 06 '19 23:07 Snooz82

New robot and old remote library works fine

Snooz82 avatar Jul 06 '19 23:07 Snooz82

https://github.com/starjumper30/node-robotremoteserver is a fork. Not the one publiished to npm as robotremote. RF 3.1 is not tested, possibly the remote interface expectations changed meanwhile.

comick avatar Jul 07 '19 15:07 comick

Ok. Independent of this fork it does not work.

Snooz82 avatar Jul 07 '19 17:07 Snooz82

It seems that the issue was in Robot Framework instead, and fixed in the RF 3.2: https://github.com/robotframework/robotframework/issues/3300

lmartorella avatar Jul 14 '20 16:07 lmartorella

Was it fixed in a minor version of RF3.1? Or 3.2 only? How does https://github.com/comick/node-robotremoteserver/pull/6 handles this?

comick avatar Jul 14 '20 17:07 comick

#6 seems to support an optional feature introduced in RF3.1 (specify argument types), not sure why this should fix the robotframework/robotframework#3300. #6 can however be useful to cover such support. Not sure why adding #6 was fixing the channel issue on RF3.1. It seems that their robotframework/robotframework#3300 fix is trying to not reuse the same xml-rpc http socket more than once, perhaps for some internal state issue in RF. The fix in in RF3.2 only.

lmartorella avatar Jul 14 '20 18:07 lmartorella