`
chinajavawolf
  • 浏览: 114817 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

(E1)Tapestry-Test

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


相关推荐

Global site tag (gtag.js) - Google Analytics