Automatisierter PiL-Test (inkl. Freigabe von Bibliotheken)

logi.CAD 3 stellt ein Werkzeug für den automatisierten PiL-Test von POE einer Bibliothek in logi.CAD 3 zur Verfügung. Zusätzlich ist es mit einem Werkzeug möglich, diese Bibliothek automatisiert freizugeben.

Gut zu wissen

(grey lightbulb) Das Werkzeug ist zur Verwendung durch einen fortgeschrittenen Anwender von logi.CAD 3 vorgesehen.

(grey lightbulb)Bedingung für die erfolgreiche Verwendung des Werkzeugs sind Kenntnisse über die durchzuführende Aktion, wie sie in der grafischen Benutzeroberläche von logi.CAD 3 ausgeführt werden würde.

(grey lightbulb)Die Ausgaben des Werkzeugs erfolgen nur in englischer Sprache.

Inhalt dieses Artikels:

Vorbereitungen

  1. Stellen Sie sicher, dass eine Variante von logi.CAD 3 installiert ist, in der das Testframework verfügbar ist. Halten Sie die folgenden Informationen bereit:  
    • der Pfad zum Installationsverzeichnis von logi.CAD 3 
    • der Pfad zu einem Verzeichnis, das als Arbeitsbereich verwendet wird
      Falls das Verzeichnis nicht existiert, wird es vom Werkzeug erstellt.
       
    • der Pfad zum Projekt, das importiert werden soll (bevor die PiL-Tests ausgeführt werden)
    • der Pfad zur Konfigurationsdatei für das Protokoll (siehe unten für weitere Informationen)
      Eine Datei mit einer Beispielkonfiguration ist in der Installation von logi.CAD 3 enthalten.
       
  2. Falls JAVA JDK nicht bereits auf Ihrem Computer installiert ist, installieren und entpacken Sie JAVA JDK. Erweitern Sie im Falle einer Installation auch die Umgebungsvariable PATH des Betriebssystems um das Verzeichnis, in das JAVA JDK installiert/entpackt wurde. Im Zweifelsfall bitten Sie Ihren Administrator um Unterstützung.  
  3. Öffnen Sie eine Befehlszeile: z.B. cmd.exe unter Windows und wechseln Sie in das Installationsverzeichnis von logi.CAD 3  

Aufruf

@REM Commands to start the development environment
start cmd /c logicad3.exe -data <WORKSPACE> -nosplash -vmargs -Dlicenseaccepted=true -Dosgi.requiredJavaVersion=<X.Y> -DLC3useRTS3MetaData=true -Xms256m -Xmx6144m -Dlc3.serverport=50055 -Dlog4j.configuration=file:<LOG-CONFIGURATION> 
ping 127.0.0.1 -n 40  1>NUL

@REM Command to import project with the test suites
java -jar util\com.logicals.lc3.command.jar -port 50055 -import -projectPath <PROJECTPATH>

@REM Command to generate and load the library
java -jar util\com.logicals.lc3.command.jar -port 50055 -generateLibrary -projectName <PROJECT> -libraryDefinitionFile <PROJECT_REL_PATH\LIB_CONFIGURATION.lc3lib>
java -jar util\com.logicals.lc3.command.jar -port 50055 -uploadLibrary -projectName <PROJECT> -libraryDefinitionFile <PROJECT_REL_PATH\LIB_CONFIGURATION.lc3lib> -libraryName <LIBRARY> -deviceName <DEVICE>

@REM Command to execute the PiL-tests
java -jar util\com.logicals.lc3.command.jar -port 50055 -runPilTest -projectName <PROJECT> -libraryDefinitionFile <PROJECT_REL_PATH\LIB_CONFIGURATION.lc3lib> -libraryName <LIBRARY> -deviceName <DEVICE>

@REM Command to release the library
java -jar util\com.logicals.lc3.command.jar -port 50055 -releaseLibrary -projectName <PROJECT> -libraryDefinitionFile <PROJECT_REL_PATH\LIB_CONFIGURATION.lc3lib> -libraryName <LIBRARY>

@REM Command to exit the development environment
java -jar util\com.logicals.lc3.command.jar -port 50055 -shutdown

Beschreibung der Parameter:

ParameterBeschreibung Beispiel

<WORKSPACE>

absoluter Pfad zu einem Arbeitsbereich, in den das Projekt importiert werden soll
Beachten Sie::

  • Das Verzeichnis des Arbeitsbereichs darf sich nicht innerhalb eines Verzeichnisses befinden, bei dem es sich um ein logi.CAD 3-Projekt handelt.
  • Nach dem Aufruf enthält der Arbeitsbereich einen Verweis auf das logi.CAD 3-Projekt. Das bedeutet, dass das logi.CAD 3-Projekt nicht in den Arbeitsbereich kopiert wurde.
    Dies ist das gleiche Verhalten wie innerhalb der grafischen Benutzeroberfläche von 
    logi.CAD 3, wenn Sie den Befehl Importieren... und den Importtyp Vorhandene Projekte in den Arbeitsbereich mit der deaktivierten Option Projekte in Arbeitsbereich kopieren verwenden würden.

C:\temp\LC3Workspace

<X.Y>

Versionsnummer der benötigten Java-Version
Für diese Angabe öffnen Sie am besten die Datei  logiCAD3.ini , die im Installationsordner von logi.CAD 3 vorhanden ist. Suchen Sie die Zeile mit dem Text -Dosgi.requiredJavaVersion=.  Übernehmen Sie die Angabe hinter = als die Versionsnummer.

1.8

<LOG-CONFIGURATION>

Pfad zur Konfigurationsdatei für das Protokoll
Alle Meldungen des Werkzeugs werden an das Gerät ausgegeben, das in der Konfigurationsdatei für das Protokoll angegeben ist.

C:\LC3LogConfig\log4j.xml

<PROJECTPATH>

absoluter Pfad zum Projekt, das importiert werden soll

C:\LC3Projects\MyProject
<PROJECT>

Name des Projekts, das die Testsuiten enthält

MyProject

<PROJECT_REL_PATH\LIB_CONFIGURATION.lc3lib>

Name der Bibliothekskonfiguration (mit der Erweiterung .lc3lib) inkl. des projektrelativen Pfades

src/MyLib01.lc3lib

<LIBRARY>

Name der erzeugten Bibliothek (inkl. der Versionsnummer)MyLib01__0.0.1

<DEVICE>

Name des Geräts, auf das die Bibliothek geladen werden soll

MyDevice
  • Der Parameter -noSplash ist optional. Wird er nicht angegeben, wird der Startbildschirm von logi.CAD 3 nach dem Aufruf angezeigt.
     
  • Der Parameter -Dlog4j.configuration ist ebenfalls optional. logi.cals empfiehlt jedoch, diesen Parameter anzugeben, damit Protokoll-Ereignisse ausgegeben werden.
     
  • Alle anderen Parameter sind erforderlich. Falls sie nicht angegeben werden, weist eine entsprechende Meldung darauf hin, dass Parameter fehlen. 
  • Wenn der PiL-Test erfolgreich durchgeführt wurde, erzeugt logi.CAD 3 die komprimierte Bibliothek (mit dem Testbericht und den Protokollen) innerhalb des Unterordners target des Projekts.

Beispiel für Aufruf
start cmd /c logicad3.exe -data C:\temp\LC3Workspace -nosplash -vmargs -Dlicenseaccepted=true -Dosgi.requiredJavaVersion=1.8 -DLC3useRTS3MetaData=true -Xms256m -Xmx6144m -Dlc3.serverport=50055 -Dlog4j.configuration=file:C:\LC3LogConfig\log4j.xml
ping 127.0.0.1 -n 40  1>NUL

java -jar util\com.logicals.lc3.command.jar -port 50055 -import -projectPath C:\LC3Projects\MyProject

java -jar util\com.logicals.lc3.command.jar -port 50055 -generateLibrary -projectName MyProject -libraryDefinitionFile src/MyLib01.lc3lib
java -jar util\com.logicals.lc3.command.jar -port 50055 -uploadLibrary -projectName MyProject -libraryDefinitionFile src/MyLib01.lc3lib -libraryName MyLib01__0.0.1 -deviceName MyDevice

java -jar util\com.logicals.lc3.command.jar -port 50055 -runPilTest -projectName MyProject -libraryDefinitionFile src/MyLib01.lc3lib -libraryName MyLib01__0.0.1 -deviceName MyDevice

java -jar util\com.logicals.lc3.command.jar -port 50055 -releaseLibrary -projectName MyProject -libraryDefinitionFile src/MyLib01.lc3lib -libraryName MyLib01__0.0.1

java -jar util\com.logicals.lc3.command.jar -port 50055 -shutdown

Konfigurationsdatei für das Protokoll 

Diese Datei wird zur Konfiguration des log4j-Protokollierungsmechanismus benötigt. Die Datei gibt an, wie Protokoll-Ereignisse ausgegeben werden.

Konfigurationsdatei für das Protokoll (Beispiel)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="false" xmlns:log4j='http://jakarta.apache.org/log4j/'>
 
  <!-- This configuration logs to console. -->
  <appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="target" value="System.out"/>
    <param name="immediateFlush" value="true"/>
    <param name="encoding" value="UTF-8"/>
    <param name="threshold" value="info"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p:  %m%n" />
    </layout>
  </appender>

  <!-- This configuration logs to a file, with more information than for the console. -->
  <appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="file" value="C:\\temp\\logfile.log" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{HH:mm:ss} %-5p [THREAD ID=%t] [Method:%M] %c{1}:%L - %m%n" />
    </layout>
  </appender>
  <root>
    <level value="INFO" />
    <appender-ref ref="console" />
    <appender-ref ref="file" />
  </root>
</log4j:configuration>