Skip to main content

Python 3 compatible generic test automation framework

Project description

https://github.com/userzimmermann/robotframework/tree/python3

Please report any issues to:

https://github.com/userzimmermann/robotframework/issues

You can look at this URL for a complete code diff:

https://github.com/userzimmermann/robotframework/compare/master…python3

Installation

pip install robotframework-python3

Requirements

Differences in Python 3

Python 3 makes a clear distinction between str for textual data and bytes for binary data. This affects the Standard Test Libraries and their Keywords:

  • str arguments don’t work where bytes are expected, like writing to binary file streams or comparing with other bytes.

  • bytes don’t work where str is expected, like writing to text mode streams or comparing with another str.

  • Reading from binary streams always returns bytes.

  • Reading from text streams always returns str.

You can use the following keywords to explicitly create bytes:

  • BuiltIn.Convert To Bytes

  • String.Encode String To Bytes

I extended Process.Start Process with a binary_mode argument. By default the process streams are opened in text mode. You can change this with:

binary_mode=True

Collections.Get Dictionary Keys normally sorts the keys. I disabled key sorting in Python 3, because most builtin types are not comparable to each other. This further affects Get Dictionary Values and Get Dictionary Items. I still need to find a better solution… Maybe imitate Python 2 sorting? Any suggestions? :)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robotframework-python3-2.9.tar.gz (3.5 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page