Python 3 compatible generic test automation framework
- Forked from https://github.com/robotframework/robotframework
- Compatible with Python 2.7
Please report any issues to:
You can look at this URL for a complete code diff:
pip install robotframework-python3
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:
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? :)