Updates:
Status: WontFix
Comment #1 on issue 684 by pekka.klarck: Creating a dict causes all values
to be passed as str and not int
http://code.google.com/p/robotframework/issues/detail?id=684
It's by design that keyword arguments that aren't variables are always
passed in as strings. It's impossible to tell when a string should be
converted to number if there's no type information. With Java keywords we
actually convert stings to base types (ints, floats, booleans, ...)
automatically.
If a keyword needs to handle certain value as an integer (or float or
something else) it needs to convert the value itself. It is also possible
to use so called number variables (see link below) but it's better if
keywords can do conversions automatically.
http://robotframework.googlecode.com/svn/tags/robotframework-2.5.4/doc/userguide/RobotFrameworkUserGuide.html#number-variables