`
congpeixue
  • 浏览: 274577 次
  • 性别: Icon_minigender_1
  • 来自: ...
社区版块
存档分类
最新评论

Click framework 的 Page类(一)续

阅读更多
首先, 创建一个新的Page实例,并设置Page的属性(context, format, headers, path). 将请求参数的值绑定到Page的public字段中。

接着,执行onSecurityCheck()处理器, 此方法用于验证用户是否有权限访问当前页面, 业务上如果有必要的话, 可以中断后续的处理。


之后的方法是onInit(), 在这里你可以放置你的初始化代码。onInit()是生成控件(表单, 字段,表格)的最佳位置。 如图表中描述的那样, 当 一个Page的onInit()方法被调用后, 任何一个此阶段可用的控件的onInit()方法都将被调用。


下面是有关Page所含控件的处理。 ClickSerlvet  从Page中获得控件列表, 遍历控件的onProcess()方法,
如果存在一个返回false的onProcess()方法, 将中断后面的控件的处理和Page的onGe()方法的执行。

如果所有的 onProcess()均被正常执行,之后调用Page的onGet()方法。

再之后是把页面模板翻译成可以显示的Html, ClickServlet 从Page中获得model对(是一个Map),并将如下对象添加到一个model中。

1  任何一个public类型的Page所含的字段
2  context  -  Servlet 的上下文路径, 例 : /myapp
3  cssImports  - page的header中包含的CSS导入文件及样式块。 参照 PageImports可以获得更详细的信息。
4  format - Format对像用于格式化显示的对象
5  imports   -  将CSS和JavaScript 文件包含到页面的头部。 参照PageImports获得更详细的信息。
6  jsImports  - 将JavaScript 导入文件和script 块包含到页面的尾部。 参照PageImports获得更详细的信息。
7  messages   - Page的 getMessage()方法的适配器
8  path   - 呈现页面模板的路径
9  request   -   页面的 HttpServletRequest对象
10 response   -   页面的 HttpServletResponse 对象
11 session   -   用户HttpSession适配器

程序将模板和页面model结合起来, 并把结果输出到HttpServletResponse。  在模板和
model结合的时候, model中的所有控件都使用各自的toString()方法来呈现控件自身。

流程中的最后一步是执行控件的onDestroy()方法及Page的onDestroy()方法。
此方法用于垃圾回收前清除资源和控件及和Page的联系。
即使有异常抛出也要确保onDestroy()被执行。

对于POST请求的执行流程和上述类似, 除了用onPost()代替onGet()。
另外一个关于Page执行流程的图解如下:
[img] http://www.iteye.com/upload/attachment/35701/6cf29732-05a2-333e-b66c-79946f21ab48.png[/img]

Request Param Auto Binding   请求参数自动绑定
Click会自动地将参数绑定到Page的字段中,当绑定这些值的时候, 他也会将它们
转化为适当的类型。

理解这一个点的最好的方法是通过一个例子。 假设我们的程序接收到一个请求:
http://localhost:8080/mycorp/customer-details.htm?customerId=7203

这个请求被自动地绑定到CustomerDetails Page

package com.mycorp.page;

public class CustomerDetails extends Page {

    public Integer customerId;

} 


当CustomerDetails  page被创建以后, “7023”将被转化为一个Integer类型,
并赋值到page的public类型的字段customerId上。

Click的另一个特征是任何一个public类型的字段会自动地绑定到page的
model对象上。 这将使得这些值在page模板被呈现时可用。 在我们的例子中
public类型的customerId 被自动地添加到Page的model中,并在page模板
呈现时可用。

customer-details.htm 包含
<html>
<body>
 
  Customer ID: $customerId
 
</body>
</html> 


当请求结束以后, 我们的页面将显示如下;
引用
Customer ID: 7203

 



  • 大小: 23.6 KB
分享到:
评论

相关推荐

    RobotFramework中实现PageObject模式的轻量级关键字库_Python_RobotFramework.zip

    在Robot Framework中,我们可以创建一个PageObject类,包含页面上的各个元素和相关的关键词。例如,我们可以定义一个`LoginPage`类,包含用户名输入框、密码输入框和登录按钮等元素,并提供`EnterUsername`、`Enter...

    click-book apache click framework介绍

    在 Click 中,这可以通过定义一个简单的页面类来实现: ```java import org.apache.click.control.Label; import org.apache.click.Page; public class HelloWorldPage extends Page { private Label message = ...

    robot framework +selenium

    Robot Framework 是一款灵活、易于使用的自动化测试框架,而 Selenium 则是针对 Web 应用程序自动化测试的利器。通过结合两者,可以构建出强大的自动化测试解决方案。 #### 二、Selenium Library 的安装 为了实现 ...

    RobotFramework-Selenium2Library

    Robot Framework是一个通用的自动化框架,它支持各种测试和任务自动化,而Selenium2Library是Robot Framework中的一个关键库,专门用于Web应用程序的自动化测试。这个库是基于流行的Selenium WebDriver接口,允许...

    robotframework安装包

    Robot Framework是一款开源的自动化测试框架,它以关键字驱动的方式进行测试,广泛应用于软件测试和自动化任务执行。在本“robotframework安装包”中,包含了多个关键组件,旨在为用户提供一个全面的自动化解决方案...

    Python库 | robotframework_browser-2.4.1-py3-none-any.whl

    Robot Framework Browser是Robot Framework的一个扩展,它提供了一种简洁的语法来与现代Web浏览器进行交互。在本文中,我们将深入探讨这个库的功能、安装方法以及如何在实际项目中使用它。 1. **Robot Framework** ...

    robotframework自动化测试demo实例

    Robot Framework 是一个开源自动化测试框架,它以关键字驱动的方式进行测试,支持多种库,可用于Web应用、移动应用、数据库、API等的自动化测试。在这个"robotframework自动化测试demo实例"中,我们可以深入学习如何...

    robot framework 32bit【32位】

    Robot Framework 是一个开源自动化测试框架,它以关键字驱动的方式进行测试,支持多种库,可用于创建功能、验收和回归测试。32位版本的 Robot Framework 适用于那些运行在32位操作系统上的项目,如Windows XP、...

    RobotFramework Tool

    Should Contain ${PAGE TITLE} Robot Framework - Google Search ``` 这段脚本中,`Open Browser`、`Input Text`、`Click Button`和`Should Contain`都是关键词,它们对应了打开浏览器、输入文本、点击按钮和验证...

    robotframework-selenium2library-1.8.0

    Robot Framework Selenium2Library 1.8.0 是一个专门用于自动化Web应用程序测试的库,它建立在Robot Framework之上,利用Selenium 2 (现称为Selenium WebDriver) 的功能。Robot Framework是一个通用的自动化框架,而...

    WPF多页面Page导航实例

    WPF是.NET Framework的一部分,提供了一套强大的工具来设计和构建桌面应用程序。 首先,让我们深入了解WPF的Page类。Page是WPF中的一个用户界面元素,可以视为应用程序中的一个独立视图或“页面”。每个Page可以...

    Robot Framework-Selenium2Library 常用关键字

    Robot Framework 的测试案例通常由一系列步骤组成,每个步骤对应一个关键字,这些关键字组合起来就构成了完整的测试流程。测试案例可以包含设置(Setup)、主要步骤(Test Steps)和清理(Teardown)。使用 `Run ...

    Apache Click User Guide

    #### 一、Apache Click 概览 - **定义与特点**:Apache Click 是一个专为商业 Java 开发者设计的简单 JEE Web 应用框架。它采用事件驱动的编程模型来处理 Servlet 请求,并利用 Velocity(同时也支持 JSP 和 ...

    RobotFramework-Selenium2Library中文版_V1.1.pdf

    RobotFramework是一个通用的自动化测试框架,而Selenium2Library是用于Web自动化测试的一个库,通过两者的结合,可以实现强大的Web自动化测试功能。 #### 二、RobotFramework-Selenium2Library概述 **版本**: ...

    RobotFramework常见语法.pdf

    Robot Framework 是一个开源自动化测试框架,它以易于阅读和编写的关键字驱动测试为特色。它广泛应用于软件测试,包括Web应用程序、移动应用以及API测试。本篇文档详细介绍了Robot Framework的一些常见语法和关键字...

    robotframework-zoomba:扩展的Robot Framework库使测试GUI,RESTSOAP API,Mobile和Windows Desktop更加容易

    作为一个团队,开始使用Robot Framework进行自动化之旅-我们发现花了一些时间来扩充我们的库,而Robotframework-Zoomba的目标是使该过程对于新项目更容易。 有关该功能的更多特定信息,请参见 , , , 或库的...

    Robot+Framework+WD+培训-吴穹++ChinaTest2012.pdf

    【标题】"Robot+Framework+WD+培训-吴穹++ChinaTest2012.pdf" 暗示了这是一个关于Robot Framework的培训材料,由吴穹在ChinaTest2012会议上分享。Robot Framework是一个开源自动化测试框架,适用于各种类型的测试,...

    auto_framework_demo_screenshot.zip

    在本示例中,我们关注的是一个名为"auto_framework_demo_screenshot.zip"的压缩包文件,其中包含了关于Python和Selenium框架设计的信息。这个压缩包可能是某个教程或项目的截图,用于展示如何构建和使用Page Object ...

    基于Robot-Framework+Selenium2用户操作手册

    Wait Until Page Contains Welcome back, admin Close All Browsers ``` 通过以上介绍,您可以根据自己的需求选择合适的元素定位策略和Selenium2Library关键词来构建自动化测试脚本。此外,还提供了数据库操作的...

    web4截图.docx

    - **类定义**:文档中的两个代码片段分别定义了一个`System.Web.UI.Page`派生类和一个`System.Web.UI.UserControl`派生类。 - **事件处理**:`Page_Load`方法是在页面加载时触发的事件处理器,而`Button1_Click`和`...

Global site tag (gtag.js) - Google Analytics