[Seasar-user:15392] SAStrutsとseleniumを組み合わせて使いたい

渡辺 祐 [E-MAIL ADDRESS DELETED]
2008年 8月 13日 (水) 18:36:03 JST


渡辺と申します。

SAStrutsをベースに作った画面遷移を、
seleniumというツール(http://selenium-core.openqa.org/ )で
自動テストするな方法論を考え中ですが、
sastruts.VIEW_PREFIX
の設定が思わぬカベになってい(る気がし)て苦慮してます。

Tomcat上でのアプリ名=eclipse上でのプロジェクト名=「proj」だとして、

proj/
│
├─lib
├─libsrc
├─src
│  ├─main
│  │  ├─java
│  │  │  └─jp
│  │  │      └─co
│  │  │          └─example
│  │  │              └─proj
│  │  │                  ├─action
│  │  │                  │      HelloworldAction.java
│  │  │                  │
│  │  │                  ├─entity
│  │  │                  │      Test.java
│  │  │                  │
│  │  │                  ├─form
│  │  │                  ├─service
│  │  │                  └─util
│  │  └─resources
│  │          app.diconほか
│  │
│  └─test
│      ├─java
│      └─resources
│
└─WEB-INF/
    │  struts-config.xml
    │  validator-rules.xml
    │  web.xml
    │
    ├─classes/
    ├─lib/
    └─view/
        ├─common/
        │      common.jsp
        │
        └─helloworld/
                index.jsp

というツリー構造であれば
http://localhost:8080/proj/helloworld/
で1画面できあがり。

ここで、seleniumの本体(HTML+Javascript)と、
helloworld画面に対するseleniumテストケース(hogetestcase.html)とを、
それぞれどこに格納するべきか?

proj直下に「selenium」フォルダ、
proj直下に「selenium-testcases」フォルダを
それぞれを掘ったとしても、

Aパターン:
http://localhost:8080/proj/selenium/TestRunner.html?test=..%2Fselenium-testcases%2Fhogetestcase.html

でアクセスするのは無理ぽい。
sastruts.VIEW_PREFIX
が効いてしまうのでこれだと 
proj.SeleniumActionクラスを探しにいってしまいます(笑)

そこで、Bパターン:
http://localhost:8080/selenium/TestRunner.html?test=..%2Fselenium-testcases%2Fhogetestcase.html

になるように、つまりTomcat上の別プロジェクトとしてselenium本体を
格納してしまうのも考えました。

が、そうすると
テストケース(hogetestcase.html)のファイルを、
eclipseのprojプロジェクト内で、あるいはprojプロジェクトのsvnリポジトリ内で、
それぞれ管理するのが難しくなってしまいます。

sastruts.VIEW_PREFIX
の設定に、「このディレクトリは除外=SAStrutsを通さない」みたいなことが
できれば上記のAパターンが実現できる。。。のかな?
そんなことできるのでしょうか?




Seasar-user メーリングリストの案内