Befehlszeilen Schnittstelle


 

BTF bietet eine leistungsfähige Befehlszeilen Schnittstelle zur Fernsteuerung der Software. Dies ist nützlich, wenn BTF in andere QA-Tools oder Test-Frameworks integriert werden soll oder die Testplanausführung als Batch-Prozess durchgeführt werden soll. Beim Aufruf im Batch-Modus wird für die auszuführenden Testpläne automatisch das Flag "ununterbrochene Ausführung" gesetzt.

Die Befehlszeilen Argumente des BTF
In diesem Abschnitt werden die Befehlszeilenargumente beschrieben, die an die BTF.exe übergeben werden können.

Sprachumstellung: Die Standardsprache von BTF ist Deutsch. Um die Sprache auf Englisch umzustellen, wird das Argument "-en" verwendet. Wenn BTF in englischer Sprache installiert ist, wird dieses Argument automatisch der Desktop-Verknüpfung hinzugefügt.

Fernsteuerungsdatei: Der Batch-Modus wird über eine XML-Datei gesteuert, die mit dem Kommandozeilenargument "-f [Pfad- und Dateiname]" an BTF übergeben wird.

Im Folgenden ein Beispiel, das alle möglichen Aufrufoptionen enthält:

<?xml version = '1.0' encoding = 'UTF-8'?>
<btf_command_sequence>
<options protocol="logging.txt" base_path="C:\\BTF" >
<!--The attribute protocol defines the filename to store the log-output (normally shown in the log-window) --> </options>
               <execute_test project="Example 1" testplan= "Testplan 1.1"/>
               <execute test project="Example 1" testplan= "Testplan 1.2" testinstances="1,3" >
<!--The attribute testinstances defines the sequence numbers of the tests to be executed.-
->  </execute_test>
               <export_result project="Example 1" output_file="C:\\BTF\Example 1.xml" result_type="xml"
/>
               <export_project project="Example 1" file_name="C:\BTF \Example 1.btf" />
               <execute_test project="Example 2" testplan= "Testplan 2.1"
override_iut_mac="0AFA5942BACO" override_iut_id="50" />
               <execute_test project="Example 2" testplan="Testplan 2.2" testinstances="0,2,4" />
               <export_result project="Example 2" output_file="c:\\BTF\Example 2.xml" result_type="xml"/>
/>
               <export_project project="Example 2" file_name="c:\BTF\Example 2.btf" />
               <export_testplan project="Example3" file_name="Testplan.csv"/>
</btf_command_sequence>

Die Tag-Struktur
Die XML-Tag-Struktur ist wie folgt definiert:

btf_command_sequence: Defines the call structure.
   options: Defines the log-file.
         protocol =<filename>
        base_path =<Path to store the log-file>
execute_test: Defines the testplan (and tests) to be executed.
         project= <name of the BTF project>
         testplan= <name of the testplan to be executed>
         testinstances [opt.] = <list of sequence numbers of tests to be executed>
         override_iut_mac [opt.] = assigns a new MAC-Address of the IUT
          override_iut_id [opt.] = assigns a new Device-ID of the IUT
export_result: Defines the result output.
          project = <name of the BTF project>
          output_file = <path and name of the output file>
          result_type = <xml> (at the moment only XML-export is supported)
export_project: Defines the project export.
          project = <name of the BTF project to be exported>
          file_name = <path and name of the export file>
export_testplan: Defines the test-plan export.
project = <name of the BTF project to be exported>
file_name = <path and name of the test-plan export file>
*

*) die Endung ".csv" exportiert den Prüfplan als kommagetrennte Datei, die Endung ".xml" exportiert den Prüfplan als XML-Datei

Rückgabewerte
BTF liefert eine Rückmeldung über die Ausführung mit Hilfe der folgenden Rückgabewerte:
0 = Execution successful: Alle Tests wurden erfolgreich durchgeführt.
1 = Error executing test: Dieser Fehlercode wird zurückgegeben, wenn mindestens ein Test nicht bestanden wurde.
2 = Wrong command-line argument(s): Dieser Fehlercode wird zurückgegeben, wenn falsche Argumente an BTF.exe übergeben wurden.
3 = License Error: Dieser Fehlercode wird zurückgegeben, wenn keine gültige BTF-Lizenz gefunden wurde oder der USB-Dongle fehlte.
4 = File-Error: Dieser Fehlercode wird zurückgegeben, wenn der File I/O auf die XML-Datei nicht erfolgreich war.
5 = Syntax-Error (XML): Dieser Fehlercode wird zurückgegeben, wenn die XML-Dateien eine ungültige Syntax oder einen unbekannten Befehl enthalten.
6 = Execution error: Dieser Fehlercode wird zurückgegeben, wenn mindestens ein Befehl in der XML-Datei nicht ausgeführt werden konnte.
7 = BTF already running: Dieser Fehlercode wird zurückgegeben, wenn eine Instanz von BTF bereits läuft (BTF ist eine Einzelinstanz-Software).

Die Log-Datei-Ausgabe von BTF.exe kann in eine Text-Log-Datei umgeleitet werden. Siehe Beispiel-Batch-Aufruf im Folgenden.

Beispiel-Batchdatei
Das folgende Beispiel zeigt, wie man BTF fernsteuert und die möglichen Fehlercodes abfragt:

rem -------------------------------------------------------------------------
rem command_sample.bat
rem shows an example of the BTF command-line interface
rem 02.06.2025
rem MBS GmbH, Krefeld
rem -------------------------------------------------------------------------
@echo off

"C:\Programme\MBS\BTF\bin\BTF.exe" -f "C:\btf-batch\commands.xml" >btflog.txt

@if "%ERRORLEVEL%" == "0" goto good
@if "%ERRORLEVEL%" == "1" goto badtest
@if "%ERRORLEVEL%" == "2" goto badarg
@if "%ERRORLEVEL%" == "3" goto badlicense
@if "%ERRORLEVEL%" == "4" goto badfile
@if "%ERRORLEVEL%" == "5" goto badxmlsyntax
@if "%ERRORLEVEL%" == "6" goto badcmd
@if "%ERRORLEVEL%" == "7" goto alreadyrunning

: fail
            echo Execution failed
             echo return value = *ERRORLEVEL%
             type btflog.txt
             goto end

 :badtest
              echo At least one test failed
              echo return value = *ERRORLEVEL
              goto end

 :badarg
              echo failure in command-line arguments
              echo return value = %ERRORLEVEL%
              goto end

:badlicense
               echo failure in license
               echo return value = %ERRORLEVEL%
               goto end

:badfile
               echo failure file access
               echo return value = %ERRORLEVEL%
               goto end

:badxmlsyntax
               echo failure in xml syntax of command-file
               echo return value = %ERRORLEVEL%
               goto end

:badcmd
               echo failure to execute command
               echo return value = %ERRORLEVEL%
               goto end

:alreadyrunning

               echo BTF is already running
               echo return value = %ERRORLEVEL%
               goto end

:good
               echo Execution Succeeded
               echo return value = %ERRORLEVEL
               goto end
:end
del btflog.txt
pause

HINWEIS: Wenn eine englische Windows-Version verwendet wird, ist der Pfad Programme durch Program Files zu ersetzen.