2008-05-09

使用Selenium/Ant做Web应用远程自动化测试

关键字: selenium, junit, ant
接触到Selenium这个Web应用自动化测试工具,实属意外。由于目前项目的停滞,客户那边弄过来一个新的自动化测试的任务。寒~~~ 啥时候也成了QA了!没办法,硬着头皮做下去。 一直比较欣赏的就是外国客户的技术定位,当然他们推荐的这个开源的Selenium也比较有特色,而且和Java, C#地结合也都做得非常好。对于熟悉Java代码的我们来说,看着熟悉的亲切的字符,心中的郁闷慢慢消去。在探索的过程中,对开源社区的这些贡献者们的智慧也是由衷的佩服。 Selenium是一款Web应用的自动化测试工具,详细的内容可参考官方网站(http://selenium.openqa.org/),你可以获取 ...
2008-04-29

做一个合格的项目经理

关键字: pmp, 项目管理
在中国的软件业,项目经理的名词往往都会和技术经理混淆,或者说项目经理≈技术经理,这种想法的我想应该不在少数。在一个项目中,大家过多的看重的是技术,素不知项目经理应该是管理+技术+业务的结合体,他们的比重用8:1:1,或者干脆是8:0:2,项目管理在一个项目经理的角色中占有的比重应该是很重的。   传统的软件开发流程,假设一个项目从需求开始,一般会经历需求定义->设计->编码->测试->发布这几个主要的阶段,而每一个阶段都涵盖了启动->计划->执行->监控->收尾的5个过程,其实这也是贯穿整个项目的5个过程。   ...
2008-04-01

如何让Struts2.0下载文件流

关键字: content type, stream, 文件流
在实际web应用中,大部分文件下载都是通过url文件链接直接下载的,同样在Struts中也可以这样实现。但是考虑到盗链,跨服务器访问等因素,直接文件流下载也是必要的。那么,在Struts2.0中如何实现数据流下载呢?Struts2.0默认支持多种格式的result type,stream即是其中的一种。如果我这里要实现一个Generate Report的功能,将Report存放在一个InputStream里面,Action的示例代码内容如下:package com.test; import java.io.InputStream; import java.util.HashMap; ...
2008-03-31

组合模式(Composite)

关键字: composite
一、介绍组合模式主要用于具有父子关系,或局部-整体关系的情况下。此模式使局部对象和组合对象的使用具有一致性,或者说,我们可以用一个类来统一表示一个对象或组合对象。  二、实例 首先,定义一个抽象的基类,其中定义了局部对象和组合对象的一些基本元素。import java.util.LinkedList; import java.util.ListIterator; public abstract class TeaBags { LinkedList teaBagList; TeaBags parent; String name; ...
自从去年踏入这家软件外包企业,自己深深地被这种新型的软件工业模式所吸引。陌生的鬼子鬼调,弹性的工作制度,和新兴的软件技术都一齐涌过来。 可是工作一年以后,除了发现自己的英语水平有了一定的提高,其他的一切,似乎还是停留在原地,悲乎?抑或说自己有了足够的时间去琢磨自己的技术,技术上有了更大范围的提高,喜乎? 鬼子们为了省钱而选择了具有廉价劳动力的中国,当我们每月从老板那里抠来的微弱的报酬的时候,心里不知道是什么滋味。在我们看来,鬼子们的确是很大方了,不管你是junior还是senior都是25美金/小时,爽啊!一人天8小时就是200美金,一人月就是几乎25000人民币!满眼都是$和¥... 但 ...
2008-03-26

基于Java线程实现后台定时监控

关键字: thread, 线程, 定时监控
熟悉编写JavaScript的人,都习惯在页面写入setTimeOut来实现web页面的定时监控或事务处理。但是如何在Java服务端来实现这样一个监控机制呢?一般大家都会想到线程。但是一直以来,都没有亲身动手实践过。趁着工作间隙,自己也搬出一段代码来,与大家一起分享线程编程的神奇魔力。 首先创建一个基本抽象类SchedThread,代码内容如下:package com.test; /** * 基于Java线程实现后台定时监控 <p/> Created: Mar 26, 2008 10:08:43 <p/> * <h4>http://tailsh ...
2008-03-25

灵活处理select/option对象中的特殊字符

关键字: 特殊字符, select, option, innerhtml, value, text
现在,已经习惯用js去构造网页上的组件,对于普通的下拉框,我们习惯用以下js来构造成页面组件:var select = document.createElement("select"); var option = document.createElement("option"); option.innerHTML = "Option Text"; option.value = "Value"; select.appendChild(option); 这里不能用option.text = " ...
2007-12-21

Struts2+JSON+YUI构建Rich Client应用(二)

关键字: struts, json, yui, ajax
在UI部分,页面文件很简单,userMessage.jsp的内容如下:<%@ page contentType="text/html; charset=UTF-8"%> <html> <head> <title>Struts + JSONtitle> <link rel="stylesheet" type="text/css" href="css/main.css" /> ...
2007-12-21

Struts2+JSON+YUI构建Rich Client应用(一)

关键字: struts, json, yui, ajax
Struts2的出现在Web2.0纷争的年代,以Ajax为代表的富客户端(Rich Client)应用正唱着Web2.0的主角。虽然Struts2本身对Ajax的应用也提供了自己的Ajax标签,但是这种比较牵强的支持也是赶鸭子上架,不是Struts本身的特长。 这里,就Struts对JSON支持的技术特点,来构建一个Rich Client应用,UI层使用的是YUI工具包,详情参考Yahoo的YUI网站。http://developer.yahoo.com/yui/。 本文中所涉及的Web应用的大致结构图如下: 先一睹为快,该应用的实际运行界面如下: 页面 ...
2007-12-18

桥接模式(Bridge)

关键字: bridge
一、介绍桥接模式的主要目的是要将类的抽象部分与它的实现分离,使各个不同类之间都能独立的变化和衔接。 二、实例首先,定义一个抽象的基类,可以说这就是桥梁吧!public abstract class Soda { private SodaImp sodaImp; public void setSodaImp(SodaImp sodaImp) { this.sodaImp = sodaImp; } public SodaImp getSodaImp() { retur ...
tailsherry
  • 浏览: 10039 次
  • 性别: Icon_minigender_1
  • 来自: 中国广东
  • 详细资料
搜索本博客
我的相册
E6a97510-e8be-3ebc-93e1-786f65aa75dd-thumb
Selenium
共 9 张
最近加入圈子
存档
最新评论