canoo webtest で、オートパイロットと HTMLページの解析処理

Canoo Webtest で、

  1. 自動ログイン
  2. 検索実行
  3. 検索結果の加工

という処理を、書いてみた。

groovy で、htmlunit API を使えるので、なんでも、できちゃう。

<project name="SimpleTest" basedir="." default="wt.full">

<property
    name="webtest.home"
    location="C:\user\sandbox\webtest\webtest"
/>

<import file="${webtest.home}/webtest.xml"/>

<target name="wt.testInWork">

    <webtest name="Simple Test">
    <config browser="FF3"/>

    <enableJavaScript description="JavaScriptの文法ミスを回避" enable="false" />

    <invoke url="http://chinamall.yahoo.co.jp/"/>

    <setInputField name="q" value="腕時計"/>
    <clickButton label="検索"/>

    <groovy description="スクリプト">

        def file = new File( 'work.dat' )
        def document = step.context.currentResponse.documentElement

        document.getHtmlElementsByAttribute('li','class','decName').each
        {
            def data = it.getHtmlElementsByTagName( 'a' ).get(0).getTextContent()
            // println data
            file.append( data + '\n' ) 
        }
    </groovy>

    </webtest>

</target>
</project>