To run the script, based on robotframework-pageobject, on a remote (xmlrpc based) server, the returned pageobject needs to be "recasted/remapped" to string.
The supported arguments and return value types in remote server/client setup is as in manual are
http://robotframework.googlecode.com/hg/doc/userguide/RobotFrameworkUserGuide.html?r=2.8.5
- Strings, numbers and Boolean values are passed without modifications.
- Python None is converted to an empty string.
- All lists, tuples, and other iterable objects (except strings and dictionaries) are passed as lists so that their contents are converted recursively.
- Dictionaries and other mappings are passed as dicts so that their keys are converted to strings and values converted to supported types recursively.
- Strings containing bytes in the ASCII range that cannot be represented in XML (e.g. the null byte) are sent as Binary objects that internally use XML-RPC base64 data type. Received Binary objects are automatically converted to byte strings.
- Other types are converted to strings.
Logs from remote client:
20150225 15:54:52.849 - FAIL - <type 'exceptions.TypeError'>:dictionary key must be string
20150225 15:54:52.849 - DEBUG - Traceback (most recent call last):
File "C:\Users\Rama\Anaconda\lib\site-packages\robot\libraries\Remote.py", line 85, in run_keyword
result = RemoteResult(self._client.run_keyword(name, args, kwargs))
File "C:\Users\Rama\Anaconda\lib\site-packages\robot\libraries\Remote.py", line 221, in run_keyword
raise RuntimeError(message)
The discussion on the issue is as in the link:
https://groups.google.com/forum/#!topic/robotframework-users/WG3pcoRfkuI
Improvement request:
I would request if there is an option available in robotframework-pageobject library to automatically recast the returned pageobject to string.
To run the script, based on robotframework-pageobject, on a remote (xmlrpc based) server, the returned pageobject needs to be "recasted/remapped" to string.
The supported arguments and return value types in remote server/client setup is as in manual are
http://robotframework.googlecode.com/hg/doc/userguide/RobotFrameworkUserGuide.html?r=2.8.5
Logs from remote client:
20150225 15:54:52.849 - FAIL - <type 'exceptions.TypeError'>:dictionary key must be string
20150225 15:54:52.849 - DEBUG - Traceback (most recent call last):
File "C:\Users\Rama\Anaconda\lib\site-packages\robot\libraries\Remote.py", line 85, in run_keyword
result = RemoteResult(self._client.run_keyword(name, args, kwargs))
File "C:\Users\Rama\Anaconda\lib\site-packages\robot\libraries\Remote.py", line 221, in run_keyword
raise RuntimeError(message)
The discussion on the issue is as in the link:
https://groups.google.com/forum/#!topic/robotframework-users/WG3pcoRfkuI
Improvement request:
I would request if there is an option available in robotframework-pageobject library to automatically recast the returned pageobject to string.