I already have Python source files for some custom tasks. Can I create a custom library of these tasks as keywords and use in the Robot Framework?
Yes, you can. This is all documented fairly extensively in the Robot Framework user guide, in the section titled Creating test libraries.
You have a couple of choices. You can use your module directly, which makes every method in the module available as a keyword. This is probably not what you want since the library probably wasn't designed to be used as a collection of keywords. Your second choice is to create a new library that imports your modules, and your new library provides keywords that call the functions in the other library.
As a simple example, let's say you have a module named MyLibrary.py
with the following contents:
def join_two_strings(arg1, arg2):
return arg1 + " " + arg2
You can use this directly in a test suite as in the following example, assuming that MyLibrary.py
is in the same folder as the suite, or is in a folder in your PYTHONPATH
:
*** Settings ***
| Library | MyLibrary.py
*** Test Cases ***
| Example that calls a Python keyword
| | ${result}= | join two strings | hello | world
| | Should be equal | ${result} | hello world