1. ホーム
  2. スクリプト・コラム
  3. その他

合理的オブジェクトスクリプトコマンド

2022-01-07 19:29:41
オブジェクトスクリプティングコマンド
    ロボットで記録されたスクリプトは、実用的なテスト目的ではあまり役に立ちません。記録されたスクリプトは制御構造を持たないリニアスクリプトなので、大量のデータをテストしたい場合、記録されたスクリプトだけに頼るのは現実的ではありません。また、制御構造を直接付加したチェックポイント付きのリニアスクリプトは、正しく再生されないことがほとんどである。このような場合、ロボットのオブジェクトスクリプトコマンドを利用するのが良い選択となる。使い方は、レコーディング+ハンドコーディングのミックスです。これにより、明快で保守しやすく、強力なスクリプトができあがります。
以下はやはり電卓の例で、SQAGetPropertyを使ってオブジェクトのプロパティを取得し、SQALogMessageを使ってテスト結果をログに書き込んでいます。 
コピーコード コードは以下の通りです。

Sub Main 
    Dim Result As Integer 
    Dim sum As string 
    'Initially Recorded: 2003-7-21 11:07:34 
    'Script Name: jsq-object-script 
    StartApplication "C:\WINNT\system32\calc.exe" 
    Window SetContext, "Caption=calculator", "" 
    InputKeys "1{+}1{ENTER}" 
    Result= SQAGetProperty ("Type=Label;ObjectIndex=1", "Text", sum) 
    if left(sum,1)="2" then 
      SQALogMessage sqaPass, "Test passed", "" 
    else 
      SQALogMessage sqaFail, "Test failed", "" 
    end if        
    Window CloseWin, "", "" 
End Sub 

     実際のテストでは、このスクリプトが非常にうまく機能することがわかります。