Use custom C#-libraries in Robot Framework

Read Install Robot Framework with IronPython on Windows and Use .NET libraries in Robot Framework first.
1. Save the Robot Framework file as ExampleTestCase.txt in C:\Program Files (x86)\robotframework-2.9\src\bin:

*** Settings ***
Library     FileManager
*** Test Cases ***
My Test
    Create File    fantastic.txt

2. Save the „middle-tier“ Python script as FileManager.py in C:\Program Files (x86)\robotframework-2.9\src\bin:

import clr
clr.AddReferenceToFileAndPath("C:/Program Files (x86)/robotframework-2.9/src/bin/FileCreator.dll")
import FileCreator
class FileManager:
    def create_file(self, fileName):
        FileCreator().CreateFile(fileName)

Note, that in Python an object is created with brackets: FileCreator()
Note, that Robot Framework automatically matches the keyword „Create File“ in ExampleTestCase.txt with „create_file“ in FileCreator.py
3. Save your custom C# file as FileCreator.cs in C:\Program Files (x86)\robotframework-2.9\src\bin:

using System;
public class FileCreator
{
    public void CreateFile(String fileName)
    {
        System.IO.File.Create(fileName);
    }
}

4. Compile FileCreator.cs with csc in Command Prompt:

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe" /t:library /out:FileCreator.dll "C:\Program Files (x86)\robotframework-2.9\src\bin\FileCreator.cs"

5. Run the test in Command Prompt with:

ipybot ExampleTestCase.txt

2 Gedanken zu „Use custom C#-libraries in Robot Framework“

  1. Hallo Herr Wowro,
    ich habe als Freelancer immer gerne Ihren Projektservice auf projektfisch.de genutzt. Das ist eine sehr gelungene Implementierung. Seit einigen Tagen scheint aber kein Zugriff mehr möglich zu sein. Haben Sie den Service abgeschaltet?
    Viele Grüße,
    Ulli Hoffmann

    1. Hallo Herr Hoffmann,
      ich freue mich, dass Sie den Projekt-Fisch nutzen. Leider war ich einige Zeit „offline“. Der Projekt-Fisch läuft inzwischen selbstverständlich wieder! Vielen Dank für den Hinweis.
      Schöne Grüße,
      Michael Wowro

Kommentare sind geschlossen.