KEIS BLOGは株式会社ケイズ・ソフトウェアが運営しています。

KEIS BLOG

SOAPUIの便利な使い方⑥


こんにちは!

キーボードの話題がありましたね。
私はOWLTECHのキーボードを使っています。
メカニカルな感じのほうがキーパンチしている感じがするので青軸にしたのですが

・・・打鍵音がチャラいと言われました(笑)
SOAPUIの便利な使い方6_1
そして無駄に光ります・・・
自己満足で効率が上がるならそれが最良だと思っています!

さていつものSoapUIです。
・・・でも少しGroovyに偏っている気がします(笑

前回はダイアログを生成するためにXMLを読み込むプログラムを組みましたが
イテレータの部分が自分でもわかりにくいため
今回はJavaライクな書き方にして子要素をうまく取得するようにしてみます。

こちらが読み込むXMLです
SOAPUIの便利な使い方6_2
子要素にテキストノードがあります。

こちらがソースになります。
SOAPUIの便利な使い方6_3

File inputFile = new File("F:\\work\\config.xml");
if (false == inputFile.exists()) {
    throw new Exception("input file not found");
}

こちらでファイルを読み込み、存在チェックを行っています。

Node root = new XmlParser().parseText(inputFile.text);

XMLをparseしてRoot要素を読み込みます。

for文についてはJavaと同じですので普通です。

    String client_id = cl.attribute("id");
    String client_value = cl.attribute("value")

属性値の取得ですが
Javaのorg.w3c.dom.NodeはgetAttribute(key)ですが
こちらはgroovy.util.Nodeなのでxxx.attribute(key)になります。

    Node sv = cl.service[j];
    String service_text = sv.text()

clientノードからserviceのNodeを取り出し、textを取得します。
getAttributeNodeではなくxxx.textで取得します。

このように全ての値を取得することができました。
SOAPUIの便利な使い方6_4
今回はログに出力するだけですが、Mapなどに出力したり
APIの繰り返し呼び出しなどに使えるかと思います。

このようにJavaとほぼ同じよう簡単なプログラムですが
意外と混乱して時間がかかってしまうこともあるのではないでしょうか。
何かのお役に立てればと思います。

 

【関連記事】
SOAPUIの便利な使い方①
SOAPUIの便利な使い方②
SOAPUIの便利な使い方③
SOAPUIの便利な使い方④
SOAPUIの便利な使い方⑤