sdk
latest
false
Wichtig :
Bitte beachten Sie, dass dieser Inhalt teilweise mithilfe von maschineller Übersetzung lokalisiert wurde. Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.
UiPath logo, featuring letters U and I in white

Entwickleranleitung

Letzte Aktualisierung 30. Okt. 2025

Ihre Aktivität wird getestet

Testen Sie nach der Implementierung der neuen Aktivität, ob sie wie erwartet funktioniert. Sie können Ihre Aktivität mit einer dieser Methoden testen:

Komponententests

Die einfachste und schnellste Möglichkeit, den Aktivitätscode zu testen, besteht darin, Einheiten-Tests zu schreiben, die den Aktivitätscode isolieren und einzelne Szenarien testen.

Zum Beispiel:

[Theory]
[InlineData(1, Operation.Add, 1, 2)]
[InlineData(3, Operation.Subtract, 2, 1)]
[InlineData(3, Operation.Multiply, 2, 6)]
[InlineData(6, Operation.Divide, 2, 3)]
public void Calculator_ReturnsAsExpected(int firstNumber, Operation operation, int secondNumber, int expectedResult)
{
    var calculator = new Calculator()
    {
        SelectedOperation = operation
    };

    var result = calculator.ExecuteInternal(firstNumber, secondNumber);

    Assert.Equal(expectedResult, result);
}[Theory]
[InlineData(1, Operation.Add, 1, 2)]
[InlineData(3, Operation.Subtract, 2, 1)]
[InlineData(3, Operation.Multiply, 2, 6)]
[InlineData(6, Operation.Divide, 2, 3)]
public void Calculator_ReturnsAsExpected(int firstNumber, Operation operation, int secondNumber, int expectedResult)
{
    var calculator = new Calculator()
    {
        SelectedOperation = operation
    };

    var result = calculator.ExecuteInternal(firstNumber, secondNumber);

    Assert.Equal(expectedResult, result);
}
Im vorherigen Code-Snippet-Beispiel wird eine neue Instanz der Calculator -Klasse erstellt und die Funktion ExecuteInternal aufgerufen. Es gibt nichts Spezifisches für Aktivitäten in diesem Kontext, und es gelten grundlegende Prinzipien für Einheitentests.

Um ein Beispiel anzuzeigen, wechseln Sie zur Beispielaktivität „Rechner“ in GitHub.

Workflow-Tests

Workflow-Tests sind eine Art von Einheiten-Tests, die auf der Klasse WorkflowInvoker basieren, um die Aktivität in einem Workflow zu platzieren und auszuführen, wie sie von UiPath Robot ausgeführt werden würde:
[Fact]
public void Divide_ReturnsAsExpected()
{
    var activity = new Calculator()
    {
        FirstNumber = 4,
        SecondNumber = 2,
        SelectedOperation = Operation.Divide
    };

    var runner = new WorkflowInvoker(activity);
    runner.Extensions.Add(() => workflowRuntimeMock.Object);

    var result = runner.Invoke(TimeSpan.FromSeconds(1)); //the runner will return a dictionary with the values of the OutArguments

    //verify that the result is as expected
    Assert.Equal(2, result["Result"]);

    //verify that we logged a message
    workflowRuntimeMock.Verify(x => x.LogMessage(It.IsAny<LogMessage>()), Times.Once);
}[Fact]
public void Divide_ReturnsAsExpected()
{
    var activity = new Calculator()
    {
        FirstNumber = 4,
        SecondNumber = 2,
        SelectedOperation = Operation.Divide
    };

    var runner = new WorkflowInvoker(activity);
    runner.Extensions.Add(() => workflowRuntimeMock.Object);

    var result = runner.Invoke(TimeSpan.FromSeconds(1)); //the runner will return a dictionary with the values of the OutArguments

    //verify that the result is as expected
    Assert.Equal(2, result["Result"]);

    //verify that we logged a message
    workflowRuntimeMock.Verify(x => x.LogMessage(It.IsAny<LogMessage>()), Times.Once);
}
Das vorherige Code-Snippet erstellt eine neue Instanz der Aktivität, aber anstatt die Methoden direkt auf der Instanz aufzurufen, platziert es die Aktivität in einer WorkflowInvoker und führt sie als Teil eines Workflows aus. Der Workflow ruft schließlich die Funktion Execute in der Klasse Calculator auf. Beachten Sie, dass diese Funktion geschützt ist und Sie sie nicht direkt aufrufen können, was ein indirekter Vorteil dieses Ansatzes ist.
Dieser Ansatz wird normalerweise verwendet, wenn die Aktivität vom Ergebnis anderer Aktivitäten abhängt. In diesem Fall müssen Sie einen Workflow mit mehreren Aktivitäten erstellen und von WorkflowInvoker ausführen lassen.

UiPath Studio an Prozess anhängen

Manchmal ist es erforderlich, den Aktivitätscode innerhalb des UiPath.Robot-Executors zu testen. Um dies zu erreichen, können wir eine von zwei Optionen verwenden.

Option 1: System.Diagnostics.Debugger.Launch()

  1. Fügen Sie Debugger.Launch() an der Stelle hinzu, an der der Haltepunkt Ihren Code treffen soll.
  2. Erstellen Sie das neue Paket, und aktualisieren Sie die Version in Ihrem Projekt in UiPath.Studio, und wählen Sie dann Ausführen aus.
  3. Der JIT-Debugger fordert Sie auf, eine Visual Studio-Instanz auszuwählen, die für das Debuggen verwendet werden soll.



  4. Nachdem Sie die Instanz ausgewählt haben, stoppt das JIT die Ausführung an der Zeile, in der Debugger.Launch() hinzugefügt wurde, und ab dort kann der normale Debugprozess beginnen.


Option 2: An Prozess in Visual Studio anhängen

Eine andere Option besteht darin, die Ausführung zu verzögern und dann Visual Studio an den Executor-Prozess anzuhängen. Diese Methode erfordert zwar mehr Aufwand, ermöglicht aber das Debuggen des Aktivitätscodes ohne Änderungen.

  1. Um die Ausführung zu verzögern, fügen Sie die Aktivität Verzögerung ( Delay ) oder, in einem Windows-Projekt, die Aktivität Meldungsfeld ( Message Box ) hinzu.



  2. Wählen Sie Ausführen aus, wechseln Sie dann zu Visual Studio und wählen Sie Debuggen > An Prozess anhängen aus.



  3. Filtern Sie die Prozessliste nach UiPath.Executor, wählen Sie alle Prozesse aus und klicken Sie dann auf Anhängen.


Nachdem die Verzögerung abgelaufen ist, wird die Prozessausführung an dem Haltepunkt unterbrochen, den Sie in Ihrem Code hinzugefügt haben.

  • Komponententests
  • Workflow-Tests
  • UiPath Studio an Prozess anhängen
  • Option 1: System.Diagnostics.Debugger.Launch()
  • Option 2: An Prozess in Visual Studio anhängen

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo
Vertrauen und Sicherheit
© 2005–2025 UiPath. Alle Rechte vorbehalten