Robot Framework Changelog

What's new in Robot Framework 2.8.1

Jun 15, 2013
  • Includes a fix that allows it work with SSHLibrary and Selenium2Library

New in Robot Framework 2.8 (Jun 13, 2013)

  • Public API for generating and executing tests
  • New Process test library
  • Named arguments changes
  • Support for Python's keyword arguments
  • Support for re-executing failed test cases
  • Creating reports and xUnit outputs is possible without processing output.xml
  • Variable related enhancements
  • New control keywords in BuiltIn test library
  • New control flow related keywords have been added to the BuiltIn library:
  • Backwards incompatible changes
  • The old runner entry point removed
  • Deprecated Screenshot library keywords removed
  • Creating scalar list in variable table is not possible
  • Using test suite init files as resources is not allowed
  • Using test suite init files (e.g. __init__.txt) as resources is not allowed anymore ( issue 1276 ).
  • Report (and log) generated if tests run --output NONE
  • Empty timeout attributes in output XML
  • Command line option errors are now fatal
  • Traceback removed from xUnit outputs
  • Non-existing variables in tags fail the test
  • Deprecated features:
  • Attribute ROBOT_EXIT_FOR_LOOP is deprecated
  • Command line option --runmode is deprecated
  • Option --xunitfile changed to --xunit

New in Robot Framework 2.7.7 (Feb 27, 2013)

  • Hiding columns in test details table:
  • It is nowadays possible to hide columns in test details table of a report by clicking a small x on column headers ( issue 1362 ). Columns are hidden persistently, based on a domain, and it is always easy to show them again by clicking "..." on the closed header. Persistently hiding columns works also with local files except with Internet Explorer.
  • General performance and style enhancements to report and log:
  • There were several performance and style enhancements to reports and logs ( issue 1368 ):
  • Test details table of a report is rendered at least three times faster than earlier. The difference is noticeable especially when there are a lot of test cases.
  • Rows in test details table have a maximum height. Scrollbars are added if content does not fit otherwise.
  • Long words are split into multiple rows both in report and log even if they do not contain spaces. This prevents text from overflowing horizontally.
  • When opening a suite, a test or a keyword in a log file via a link, the opened item is highlighted briefly.
  • Expand All button in log files got better styles.
  • Expanding large test suites in log files is faster.
  • Enhancements and fixes to Telnet library:
  • Telnet library was heavily enhanced in version 2.7.6. Unfortunately some of these changes caused regressions ( issue 1327 and issue 1371 ) as well as backwards-incompatibility problems related to encoding ( issue 1328 ). In addition to fixes to these problems, Telnet library in RF 2.7.7 also contains few new enhancements:
  • Possibility to select error handler when encoding sent/received data fails (part of issue 1328 ).
  • Possibility to disable encoding altogether ( issue 1351 ).
  • Writing low level network traffic into the log file using TRACE level ( issue 1358 ).
  • Backwards-incompatible changes:
  • Telnet library got new encoding_errors argument ( issue 1328 ) before the recently added default_log_level argument. This is a backwards-incompatible change, but it is very unlikely that anyone uses default_log_level in a way that it would actually cause problems.

New in Robot Framework 2.7.6 (Jan 14, 2013)

  • Big memory leak fixed:
  • Running tests leaked memory ( issue 1202 ) resulting to excess memory usage with larger test data sets. In one case memory usage dropped whopping 95% from 10GB to 0.5GB, and about 20% enhancements were noticed with other cases.
  • New *.robot extension for plain text test data:
  • It is nowadays possible to use special .robot extension with Robot Framework test data ( issue 1018 ). This can be handy in order to separate these files from other files used for testing. Other than the extension these files do not differ from .txt files at all.
  • The built-in Tidy tool has been enhanced to support *.robot files but RIDE does not yet support them.
  • Enhancements to running keywords dynamically:
  • New Run Keyword And Return Status keyword was added to return true/false depending on the keyword status ( issue 1302 ). It is easier to use than old Run Keyword And Ignore Error in many cases, especially with Run Keyword If.
  • Run Keywords keyword allows running several keywords with arguments by separating keyword calls with AND ( issue 1303 ).
  • Several enhancements to Telnet library:
  • Telnet library received plenty of enhancements:
  • Messages are logged so that they get accurate timestamps ( issue 1301 ).
  • Other encodings than ASCII are supported ( issue 1312  and  issue 1310 ).
  • Login keyword was enhanced and its logging fixed ( issue 1314 ).
  • It is possible to set default log level globally ( issue 1318 ).
  • Library documentation has been heavily enhanced ( issue 1315 ).
  • Some of these enhancements caused potentially backwards-incompatible changes discussed below.
  • Backwards-incompatible changes:
  • All standard libraries use logging API instead of print for logging ( issue 1301 ). This may cause messages to appear in wrong order in log files if you extend these libraries and use print for logging. In practice this is likely to cause problems only with Telnet. The fix is to start using the logging API with custom libraries extending it.
  • Previously Telnet library used ASCII encoding when writing or reading and ignored possible encoding errors. In RF 2.7.6 encoding is configurable ( issue 1312 ), UTF-8 is used by default, and possible encoding errors are not ignored. As a result there are problems with connections using other than UTF-8 or ASCII encoding (latter is a subset of the former and thus works by default), unless the correct encoding is explicitly specified. This will be fixed in RF 2.7.7 by ignoring encoding errors by default and making the error handler configurable ( issue 1328 ).
  • Telnet.Read Until Regexp keyword fails if a compiled regular expression is used as the last argument. This bug ( issue 1327 ) will be fixed in RF 2.7.7.
  • Telnet library got two new configuration parameters encoding ( issue 1312 ) and default log level ( issue 1318 ). As discussed in those issues, custom libraries extending Telnet may be affected.
  • Run Keywords keyword separates keyword calls with AND ( issue 1303 ). This causes problems in the very unlikely case that you use a keyword with exact this name, including case. Using the keyword e.g. like And or escaping it like \AND fix the problem.

New in Robot Framework 2.7.5 (Nov 22, 2012)

  • Enhancements to XML library:
  • XML library added in RF 2.7.4 has been greatly enhanced in RF 2.7.5. It can now be used for modifying XML and saving it back to disk ( issue 1234 ), it has better support for XML namepaces ( issue 1241 ), and some new keywords were added for verifying contents ( issue 1236 , issue 1260 ).
  • New features to libdoc:
  • libdoc tool used for documenting test libraries and resource files got some nice enhancements. Most importantly, it is now possible to use HTML, plain text, and reStructuredText in documentation and not only Robot Framework's own documentation format ( issue 489 ). To make longer documentations easier to navigate around, headers used in introduction ( issue 1247 ) as well as Shortcuts and Keywords sections ( issue 1250 ) can be used as link targets. How the results of the latter enhancements look in practice can be seen in the documentation of XML library.
  • Enhanced IronPython support:
  • Nowadays ScreenshotLibrary works with IronPython ( issue 1225 ) and XML library can be used with non-ASCII characters ( issue 1228 ). Several smaller issues were also fixed in the code and in acceptance tests. As a result all Robot Framework's acceptance tests now pass also with IronPython.
  • DialogsLibrary is now the only standard library that does not work with IronPython (issue 1235). A bigger limitation is that using C# for creating test libraries is not possible (issue 721). Let us know by commenting these issue or on mailing lists if you are interested to help getting these issues done.
  • Potentially backwards-incompatible changes:
  • It is possible, but very unlikely, that these changes could cause backwards-compatibility problems:
  • Non-breaking spaces in test data are considered normal spaces ( issue 1264 ).
  • ˜ in HTML test data is nowadays correctly parsed to ˜ and not to ~ ( issue 1265 ).

New in Robot Framework 2.8 (Aug 9, 2011)

  • SeleniumLibrary 2.8 upgrades the emebedded Selenium server to version 2.3, which enables testing with Firefox 5. Additionally, some new list keywords were added in this release.

New in Robot Framework 2.7 (May 24, 2011)

  • Released with support for Firefox 4 and some new keywords.

New in Robot Framework 2.5.6 (Feb 7, 2011)

  • A bug fix release with some nice enhancements released.

New in Robot Framework 2.5.5 (Dec 14, 2010)

  • A bigger-than-normal minor release with some cool enhancements is released.
  • Ant task for Robot Framework available.
  • Ruby version of the remote server available as a gem.

New in Robot Framework 2.5.4.1 (Oct 4, 2010)

  • This is a micro release of the jar package. This new package includes compiled class files for Jython's standard libraries. This improves the speed of the standalone jar package while increasing the size of the distribution a few megabytes.

New in Robot Framework 2.5.3 (Sep 1, 2010)

  • Bug fixes and minor enhancements.

New in Robot Framework 2.5.2 (Aug 27, 2010)

  • Redirected output crashes when encoding not found from environment
  • Encoding got from environment may be invalid and crash execution on Unixes
  • High JAR distribution package
  • All keywords in teardowns should be executed even if there are syntax errors
  • Possibility to interact with other active libraries via Get Library Instance keyword
  • Rename function rebot to run_rebot in robot/__init__.py to avoid collision with robot.rebot module
  • Possibility to exit for loops with BuiltIn.Exit For Loop keyword and with custom exceptions
  • Command line option to skip teardowns when execution is stopped gracefully (e.g. with Ctrl-C)
  • Add --loglevel option to rebot
  • Row continuation with ... should ignore leading empty cells
  • Run Keyword variants should be executed in dry-run mode when feasible
  • Warning caused by creating scalar with multiple values does not contain enough details
  • Warning caused by creating scalar and list variable with same basename does not contain enough details
  • Create link from Test Execution Errors to exact place in Test Execution Log
  • Document different ways to extend existing test libraries
  • For loops are not space insensitive as in RF 2.1.3 and earlier

New in Robot Framework 2.5 RC1 (Jun 2, 2010)

  • Raising a continuable exception from a test library ( issue 137 )
  • Using Run Keyword And Continue On Failure keyword ( issue 545 )
  • In teardowns all keywords are executed automatically ( issue 544 )

New in Robot Framework 2.1.3 (Apr 7, 2010)

  • Robot Framework 2.1.3 is (probably) the last release in the 2.1 series and consequently it is the last version that supports Python 2.4 and Jython 2.2
  • 2.1.3 contains mainly small bug fixes and enhancements, especially related to unicode. Jython 2.5 support is also greatly improved. Additionally, a separate tool for fixing broken output files was implemented.
  • In preparation for next major release, using parallel execution ( issue 491 ) or settings going to be removed from init files ( issue 478 ) now causes a deprecation warning.

New in Robot Framework 2.1.2 (Oct 27, 2009)

  • Robot Framework 2.1.2 contains mainly smallish bug fixes and enhancements. The most important new feature is making Given/When/Then/And prefixes optional in keyword names ( issue 409 ) to ease creating BDD style test cases, and the biggest documentation enhancement is an example of using C language from test libraries (issue 394).