コマンド ライン プログラムは ERRORLEVEL をオペレーティングシステムに返し、呼び出し側プログラムはこれを分析して、実行時に発生したことを判断できます。次の表ではエラーについて説明します。
コード | 説明 | スクリプトのステータスとして出力ファイルで返されるかどうか |
---|---|---|
0 | エラーはありません。すべてのスクリプトは正常に実行されました。 | はい |
1 | 致命的なエラー。コマンド ライン プログラムをまったく実行できません。言語リソース ファイルがないことが理由の 1 つと考えられます。 | いいえ |
2 | Silk Test COM オブジェクトを作成できませんでした。COM オブジェクトが登録されたことを確認してください。Silk Test.exe を実行すると COM オブジェクトが登録されることに注意してください。 | いいえ |
3 | DSN、ユーザー名、パスワードのいずれかが正しくありません。詳細については、「Silk Central から STW.EXE を実行するための前提条件」を参照してください。 | いいえ |
4 | スクリプト名が指定されていません。 | いいえ |
5 | 指定プロジェクトが見つかりませんでした。 | いいえ |
6 | 指定スクリプトが見つかりませんでした。 | いいえ |
7 | 指定実行環境が見つかりませんでした。 | いいえ |
8 | スクリプトのパラメータが無効です。指定したスクリプトのパラメータが少なすぎるか多すぎるか、パラメータが見つかりませんでした。 | いいえ |
9 | スクリプトの実行が完了しませんでした。最後に達する前に停止した可能性がありますが、再生エラーという結果にはなっていません。 | はい |
10 | スクリプトで再生エラーが発生しました。 | はい |
11 | スクリプトが実行できなかったか、スクリプトの検証がエラーになりました。 | はい |
12 | 複数の問題が発生しました。たとえば、スクリプトがエラーになり、スクリプト再生エラーが検出されました。 | いいえ |
13 | -file オプションのためにコマンド ラインを処理できなかった場合、これが返されます。たとえば、ファイルが存在しないか、ファイルの再帰がある場合です。 | いいえ |
14 | コマンド ライン ウィンドウの停止またはシャットダウンを行う方法はさまざまです。Ctrl+C、Ctrl+Break、Windows からのログアウト、Windows のシャットダウンのいずれかにより、コマンド ラインは閉じるか停止します。このような操作は捕えられて、このエラー コードが返されます。ウィンドウを閉じると、スクリプトの停止、製品のログアウト、SilkTest.EXE のアンロードも行われます。 | いいえ |
15 | viewportwidth または viewportheight のいずれか一方だけが指定されました。 | いいえ |
16 | viewportname が viewportwidth と viewportheight と同時に指定されました。 | いいえ |
バッチ ファイルで ERRORLEVEL を確認する方法は多数あります。次の例で 1 つの方法について説明します。
@ECHO OFF SETLOCAL REM ---------------------------------------------------------------------------- REM Define the error codes that can be returned by STW.EXE REM ---------------------------------------------------------------------------- SET eNoError=0 SET eFatalError=2 SET eUnableToCreateComObject=2 SET eLoginFailed=3 SET eNoScriptSpecified=4 SET eProjectNotFound=5 SET eScriptNotFound=6 SET eRunEnvNotFound=7 SET eInvalidScriptParameters=8 SET eScriptDidNotComplete=9 SET eScriptPlaybackError=10 SET eScriptFailed=11 SET eMultipleProblems=12 SET eCommandCouldNotBeProcessed=13 SET ePrograTerminatedByUser=14 SET eInvalidViewportSize=15 SET eInvalidViewportParameters=16 REM ---------------------------------------------------------------------------- REM Run STW.EXE REM ---------------------------------------------------------------------------- @ECHO ON STW.EXE -username Admin -dsn STW-Scratch -script ScriptNotFound @ECHO. @ECHO OFF REM ---------------------------------------------------------------------------- REM Anything greater than 12 is unknown, can be caused if the command REM processor cannot find STW.EXE. REM ---------------------------------------------------------------------------- IF %ERRORLEVEL% GTR %eMultipleProblems% ( ECHO STW.EXE returned an unknown return code %ERRORLEVEL% GOTO END ) REM ---------------------------------------------------------------------------- REM Check the specific error codes here. REM ---------------------------------------------------------------------------- IF %ERRORLEVEL% EQU %eMultipleProblems% ( ECHO eMultipleProblems GOTO END ) IF %ERRORLEVEL% EQU %eScriptFailed% ( ECHO eScriptFailed GOTO END ) IF %ERRORLEVEL% EQU %eScriptPlaybackError% ( ECHO eScriptPlaybackError GOTO END ) IF %ERRORLEVEL% EQU %eScriptDidNotComplete% ( ECHO eScriptDidNotComplete GOTO END ) IF %ERRORLEVEL% EQU %eInvalidScriptParameters% ( ECHO eInvalidScriptParameters GOTO END ) IF %ERRORLEVEL% EQU %eRunEnvNotFound% ( ECHO eRunEnvNotFound GOTO END ) IF %ERRORLEVEL% EQU %eScriptNotFound% ( ECHO eScriptNotFound GOTO END ) IF %ERRORLEVEL% EQU %eProjectNotFound% ( ECHO eProjectNotFound GOTO END ) IF %ERRORLEVEL% EQU %eNoScriptSpecified% ( ECHO eNoScriptSpecified GOTO END ) IF %ERRORLEVEL% EQU %eLoginFailed% ( ECHO eLoginFailed GOTO END ) IF %ERRORLEVEL% EQU %eUnableToCreateComObject% ( ECHO eUnableToCreateComObject GOTO END ) IF %ERRORLEVEL% EQU %eFatalError% ( ECHO eFatalError GOTO END ) IF %ERRORLEVEL% EQU %eNoError% ( ECHO eNoError GOTO END ) IF %ERRORLEVEL% EQU %eCommandCouldNotBeProcessed% ( ECHO eCommandCouldNotBeProcessed GOTO END IF %ERRORLEVEL% EQU %ePrograTerminatedByUser% ( ECHO ePrograTerminatedByUser GOTO END ) IF %ERRORLEVEL% EQU %eInvalidViewportSize% ( ECHO eInvalidViewportSize GOTO END ) IF %ERRORLEVEL% EQU %eInvalidViewportParameters% ( ECHO eInvalidViewportParameters GOTO END ) :END ENDLOCAL