2007-05-28
(E1)Tapestry-Test
关键字: Tapestry5本人翻译目的是用来学习Tapestry5的,共享出来希望大家批评指正。计划持续翻译。
chinajavawolf Tapestry 测试效用
这个库现在基于Selenium0.8.1。
策略启动,在过程中,一个Selenimum服务器(轮流,开始和管理一个web浏览器),一个Jetty实例(为与web浏览器对话),和一个Selenium客户端(与服务器对话)。
客户端能够请求URLs,填充表单数据,点击链接,然后制造断言在输出和行为周围。
用法和配置
这个库的核心部分是一个基类让你可以扩充你的测试用例从:AbstractIntegrationTestSuite.
你必须告知套件关于定位你的web应用。这要在你的TestNG配置文件内做:
- <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
- <suite name="My Tapestry Application" parallel="false" thread-count="10" annotations="1.5" verbose="2">
- <test name="Integration Tests">
- <parameter name="tapestry.integration-webapp" value="src/main/webapp"/>
- <packages>
- <package name="org.example.myapp"/>
- </packages>
- </test>
- </suite>
The other part is to create a unit test suite. Here's an example from one of the Tapestry modules:
其他部分是创建一个单元测试套件。这里一个例子来自Tapestry 的一个模块:
- package org.apache.tapestry.spring;
- import org.apache.tapestry.test.AbstractIntegrationTestSuite;
- import org.testng.annotations.Test;
- public class TapestrySpringIntegrationTest extends AbstractIntegrationTestSuite
- {
- @Test
- public void integration_test() throws Exception
- {
- open(BASE_URL);
- type("input", "paris in the springtime");
- clickAndWait("//input[@value='Convert']");
- assertFieldValue("input", "PARIS IN THE SPRINGTIME");
- }
- }
当然了一个真实的集成测试应该包括很多方法,并且应该需要一个单独的进程执行他们,或者甚至是一个特定的执行顺序。
另外,基类继承了一个普通的异常报告;当一个失败发生在Selenium服务器内时,一个更详细的信息,包括当前页面的HTML源,被报告给System.err。
- 浏览: 62306 次
- 性别:

- 来自: 哈尔滨

- 详细资料
搜索本博客
我的相册
3
共 3 张
共 3 张
最近加入圈子
最新评论
-
(2)Tapestry5学习小结:中 ...
我都是这样做的 public void contributeValidatio ...
-- by walkerstar -
(A18)Tapestry Core :Co ...
我是真的,那么的那么的希望能多贴出一些,代码说出来。既然能翻译干吗不再多总结一下 ...
-- by hongyuzhe -
(A6)Tapestry Core:Form I ...
问个问题呀,我写的时候为什么private UserAuthenticator ...
-- by changshuangyi -
(3)Tapestry5学习小结:显 ...
怪不得我想看5.0的源代码看不了,原来是没有真正的开放出来呢。
-- by zhenjw -
(3)Tapestry5学习小结:显 ...
大哥,小弟刚来,好像这个栏目就成你的专栏了,哈哈 敬佩敬佩
-- by zhenjw






评论排行榜