Skip to content

Remote Server and pageobject : Returning pageobject be recasted/remapped to one of the supported datatypes of remote library #13

@rama-nu3

Description

@rama-nu3

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions