入力引数からの文字列または字句の抽出

ParseResponse クラスの機能は、入力引数から文字列を抽出することです。 ExtractToken クラスの機能は、入力引数から特定の字句 (文字列) を抽出することです。 どちらのクラスも、特定のタイプの動的データ相関を処理する場合に役立ちます。
ParseResponse クラスの機能は、パターン・マッチングのために正規表現を使用して、入力引数から文字列を抽出することです。
package test; 

import com.ibm.rational.test.lt.kernel.services.ITestExecutionServices; 

import java.util.regex.*; 

/** 
 * ParseResponse クラスでは、パターン・マッチングのために正規表現を使用して、
* 入力引数から文字列を抽出することを、カスタム・コードを使用して
 * 実証します。* 
 * このサンプルでは、args[0] という入力文字列が、直前の要求からの
全応答であることが前提になります。  この応答には、以下のような形式で
当日の見出しが記載されています。* 
 *   <a class=f href=r/d2>In the News</a><small class=m>&nbsp;<span id=nw> 
 *   </span></small></h2> 
 *   <div class=ct> 
 *   &#149;&nbsp;<a href=s/213231>涼しい気候が米国東部へ移動中</a>
 *   <br>&#149;&nbsp;<a href=s/262502>デジタル・カメラの出荷額が上昇</a><br>  *
 * 応答が前述のとおりと仮定すると、抽出される文字列は次のようになります。
 *        涼しい気候が米国東部へ移動中
 */ 

/** 
 * @作成者 IBM カスタム・コード・サンプル
 */ 

public class ParseResponse implements 
        com.ibm.rational.test.lt.kernel.custom.ICustomCode2 { 

    /** 
     * no-arg コンストラクターを使用してこのインスタンスを作成する。
     */ 
    public ParseResponse() {} 

    public String exec(ITestExecutionServices tes, String[] args) { 
        String HeadlineStr = "No Headline Available"; 
        String RegExpStr = ".*In the News[^;]*;[^;]*;[^;]*;<a 
href=([^>]*)>([^<]*)<";         Pattern pattern = 
Pattern.compile(RegExpStr, Pattern.DOTALL);         Matcher matcher = 
pattern.matcher(args[0]);                 
        if (matcher.lookingAt()) 
            HeadlineStr = matcher.group(2); 
        else 
            tes.getTestLogManager().reportMessage("Input does not match 
pattern."); 
        return HeadlineStr; 
    } 
ExtractToken クラスの機能は、入力引数から特定の文字列を抽出することです。
package test;

import com.ibm.rational.test.lt.kernel.services.ITestExecutionServices;

/**
 * ExtractToken クラスでは、入力引数から特定の字句 (文字列) を抽出するために、
* カスタム・コードを使用して実証します。 これは、特定のタイプの動的データ相関を
 * 処理する場合に役立ちます。*
 * このサンプルでは、args[0] という入力文字列がコンマで区切られていることと、
* 目的の字句は最後の直前の字句であることが前提になります。例えば
 * args[0] の内容が以下のとおりである場合を考えます。
 *    javascript:parent.selectItem('1010','[Negative]1010','1010','','IBM',
 *         '30181','Rational','1','null','1','1','6fd8e261','RPT')
 * この場合は、このクラスによって 6fd8e261 という文字列が戻ります。
 */

/**
 * @作成者 IBM カスタム・コード・サンプル
 */

public class ExtractToken implements
        com.ibm.rational.test.lt.kernel.custom.ICustomCode2 {

    public ExtractToken() {
    }

    public String exec(ITestExecutionServices tes, String[] args) {
        String ArgStr;
        String NextToLastStr;
        String[] Tokens = args[0].split(",");
                
        if (Tokens.length > 2) {
            ArgStr = Tokens[Tokens.length - 2];        // 最後の直前の字句を抽出

            // 囲み記号 '' を除去
            NextToLastStr = ArgStr.substring(1, ArgStr.length() - 1);
        } else {
            tes.getTestLogManager().reportMessage("Could not extract value");
            NextToLastStr = null;
        }
        return NextToLastStr;
    }
}

フィードバック