Aktion: ExecuteScript
Funktion: Die Aktion führt ein Skript in der Skript-Engine aus.
Aufruf: Testtreiber Scripting
Tipp
Wenn Sie diese Aktion in CODESYS V3.5 SP5 oder einer neueren Version ausführen, unterstützen Python-Skripte, die über den Test Manager ausgeführt werden, die Standard-Skript-Debugging-Features. Eine detaillierte Beschreibung finden Sie auf der Hilfeseite zu der Kommandozeilen-Schnittstelle. In älteren CODESYS Test Manager-Versionen unterstützt der Test Manager nur grundlegendes Debugging mittels automatischer Erkennung von .NET-basierten Debuggern wie „Python Tools für Visual Studio PTVS“ und „SharpDevelop“. Wenn der Test Manager erkennt, dass ein solcher Debugger mit CODESYS verbunden ist, während das Testskript ausgeführt wird, schreibt er die Python-Quelle in eine temporäre Datei im Temp
-Verzeichnis und aktiviert den Debugging-Mode der IronPython-Engine.
Registerkarte: Python Skript
In diesem Eingabebereich wird das auszuführende Python-Skript editiert. Eingangs- und Ausgangsparameter können als Variablen im Python Skript verwendet werden. ![]() | |
Tab-Zeichen anzeigen |
|
T<->L | Wandelt Tabulatoren in Leerzeichen und umgekehrt |
![]() | Importiert das Python-Skript von einer externen Datei |
![]() | Exportiert das Python-Skript in eine externe Datei Gespeichert wird das Skript im Rahmen des Testskripts über die Schaltfläche Speichern. |
Überprüfen | Syntax-Check des Python-Skripts Wenn Fehler oder Warnungen auftreten, wird dies in einem entsprechenden Dialog mitgeteilt. Der Cursor wird an die entsprechende Stelle im Editor gesetzt. |
Vor der Ausführung des Skripts werden die Eingangsparameter dieser Aktion als definierte Variablen in den Scope des Skripts kopiert. Nach der Ausführung des Skripts werden die Variablen aus dem Scope des Skripts in die Ausgangsparameter kopiert. Treten hierbei Fehler auf, schlägt die Aktion fehl.
Sie können über das Objekt executionContext.GlobalVariables
auf globale Variablen zugreifen. Es stellt folgende Methoden zur Verfügung:
Add(<Name>, <Objekt/Wert>)
Contains(<Name>)
Get(<Name>)
Set(<Name>, <Objekt/Wert>)
Remove(<Name>)
executionContext.GlobalVariables.Set("TestVar1", "Some Text")
Weitere Informationen finden Sie im Internet unter „Python Tools for Visual Studio“ (PTVS)" und "SharpDevelop".
Registerkarte: Konfiguration
Importpfad für Python-Module | Durch „;“ getrennte Pfade, die dem Suchpfad für Python-Module hinzugefügt werden Die Python-Module in diesem Pfad müssen im Skript per Import geladen werden. |
Import von Script-Engine-Modulen in den Hauptgültigkeitsbereich | Standardmäßig aktiviert
Die Option kann deaktiviert werden, um Namenskonflikte zu vermeiden, falls künftige Updates von CODESYS oder die Installation zusätzlicher Plug-Ins weitere Objekte einbringen. Wenn die Option deaktiviert ist, kann ein expliziter Import im Python-Code verwendet werden, um auf die CODESYS APIs zuzugreifen. Beispiel: from scriptengine import system, projects # import explicitly named members into the main scope or import scriptengine # import module scriptengine.projects.open("d:\test.project") # access the functions qualified by module |
Registerkarte: Parameter
Die in der Registerkarte Parameter definierten Parameter werden verwendet, um Werte zwischen Testskriptvariablen und Parametern von Testaktionen auszutauschen. Parameter können in der Registerkarte Konfiguration als Platzhalter verwendet werden. Dabei wird der Name des Parameters im Konfigurationsdialog in geschweifte Klammern gesetzt. Beispielsweise {name}
.
Tipp
Global im Skript definierte Variablen (mit Präfix $GLOBALS.
) können Sie direkt in der Testaktion verwenden. Eine Übergabe durch Eingangsparameter ist dabei nicht notwendig. Für das Schreiben von globalen Variablen ist die Verwendung von Ausgangsparametern notwendig.
Eingangsparameter: Bei der Ausführung der Testaktion werden die Werte der Testskriptvariablen den Eingangsparametern der Testaktion übergeben und können in der Konfiguration der Testaktion verwendet werden. | |
Ausgangsparameter: Bei der Ausführung der Testaktion werden die Werte der Ausgangsparameter der Testaktion den Testskriptvariablen übergeben und können so beispielsweise in anderen Testaktionen verwendet werden. | |
Name | Name des Eingangs- / Ausgangsparameters Dieser Name wird zusätzlich zum Variablennamen definiert, um die Herkunft des Parameters erkenntlich machen zu können, wenn er an ein anderes Skript übergeben wird. Beim Testlauf wird dieser Name als Name außerhalb Im Fenster Testfortschritt in der Registerkarte Variablen (Gültigkeitsbereich #<n>) mit angezeigt. Hintergrund: Wenn ein Skript Um zu sehen, dass diese Variable „außerhalb“ des Skripts |
Variable | Name der Testskriptvariablen Beispiel: |
Nach oben | Verschiebt die selektierte Variable um 1 Zeile nach oben |
Nach unten | Verschiebt die selektierte Variable um 1 Zeile nach unten |
Entfernen | Entfernt die selektierte Variable aus der Liste |