Automated Sil-test
logi.CAD 3 provides a tool for the automated SiL-tests for POUs in logi.CAD 3.
The tool is intended for usage by an experienced user of logi.CAD 3.
A condition for the successful usage of the tool is the knowledge of the action to be executed as it would be executed in the graphical user interface of logi.CAD 3.
The output of the tool is in English only.
Preparation
Make sure that a variant of logi.CAD 3 is installed in which the test framework is provided. Have the following information prepared:
The path to the logi.CAD 3 installation directory
The path to a directory that will be used as the workspace
In case the directory does not exist, the tool creates it.The path to the project that should be imported (before the SiL-tests are executed)
The path to the log configuration file (see below for more information)
A sample configuration file is included in the installation of logi.CAD 3.
If the JAVA JDK has not already been installed on your computer, install and unpack the JAVA JDK. In case of an installation, also enhance the environment variable PATH of the operating system by the folder to which the JAVA JDK has been installed/unpacked. In case of doubts, ask your administrator to support you in doing so.
Open a command line: e.g. cmd.exe under Windows and navigate to the logi.CAD 3 installation directory.
Invocation
@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 execute the SiL-tests
java -jar util\com.logicals.lc3.command.jar -port 50055 -runSilTest -projectName <PROJECT> -pathToRobotFiles <PROJECTPATH\TESTSUITE.robot> -outputPath <OUTPUTPATH>
@REM Command to exit the development environment
java -jar util\com.logicals.lc3.command.jar -port 50055 -shutdown
Description of parameters:
Parameter |
Description |
Example |
<WORKSPACE> |
absolute path to a workspace to which the project should be imported
|
C:\temp\LC3Workspace |
<X.Y> |
version number of the required Java version
|
1.8 |
<LOG-CONFIGURATION> |
path to the log configuration file |
C:\LC3LogConfig\log4j.xml |
<PROJECTPATH> |
absolute path to the project that should be imported |
C:\LC3Projects\MyProject |
<PROJECT> |
name of the project containing the test suites |
MyProject |
<PROJECTPATH\TESTSUITE.robot> |
name of the test suite (with .robot extension) incl. the absolute path |
C:\LC3Projects\MyProject\src\Test_FB01.robot |
<OUTPUTPATH> |
absolute path to an existing folder in which the test report and logs are generated |
C:\SilTestProject\reports |
The parameter -noSplash is optional. If it is not specified, the splashscreen of logi.CAD 3 is displayed after the invocation.
The parameter -Dlog4j.configuration is also optional . However, logi.cals recommends to specify this parameter so that log events are output .
All other parameters are mandatory. If they are not specified, an appropriate message will indicate that parameters are missing.
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 -runSilTest -projectName MyProject -pathToRobotFiles C:\LC3Projects\MyProject\src\Test_FB01.robot -outputPath C:\SilTestProject\reports
java -jar util\com.logicals.lc3.command.jar -port 50055 -shutdown
Log configuration file
This file is needed to configure the log4j logging mechanism. The file specifies how log events are output.
<?
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>