JFCUnitXML基础
XML是一种基于SGML的标记语言,成为网络数据交互的强大工具。XML提供了定义和处理GUI测试的一个有效的方法,在JFCUnit类中开发出了XML接口,XML执行接口。
XMLJunit框架:定义特性—可以在作用域范围内允许它在测试用例之间使用,定义在XML中的各个测试用例可以访问定义在父类或者祖父类的特性,父级可以通过执行特性名来隐式访问,或者”../”父访问路径来显式访问。特性可以通过${name}访问。程序可以在测试集和测试用例上定义,父类能够在更高级层次上定义---可以生成程序库。
两个保留程序:setUp,tearDown—对应TestCase.setUp|tearDown
扩展XML接口,taghandler结合Java后端开发并写入XML中,taghandler通过XML脚本定义进行注册/不注册,taghandler的概念:
Suitetags: 1.引入定义在其他XML文件中有关文件中的有关集的文件标签,2.程序标签定义3.在测试用例间共享特性标签
Suiteof Suites: 程序标签 |
特性标签
标签名对应于相应值
作用域
访问文法:${name}syntax
定义:<propertyname=”debug” value=”true”/>
其他定义
向程序员传递数据
判定标签进行分支跳转
对各种标签进行循环处理
Chose/When/Otherwise,Echo, Noop, Assert/Fail, Evaluate, Foreach, Indexof,Dump,
AssertHasFocus,AssertEnabled,AssertTableCellContains,AssertTextFieldContains
1.7 小节
JFCUnit XML:说到底就是JFCUnit的一种高一个层次封装,通过XML来描述测试用例,然后使用某中类型的代码生成器将XML描述转换为JFCUnit代码,从而避免了手工Code。高层次的抽象带来的好处就是可以屏蔽一些繁琐的细节,从而让程序员专注更加重要的应用上,而不是浪费时间在底层细节上。这中思想在很多的方面被广泛的应用,操作系统,编程语言,编译系统等等。
2 Web页面测试
Internet技术发展,Web系统变得越來越复杂,Web工程:测试,确认,验收。Web环境:浏览器平台不兼容,网络多样化,应用复杂等诸多特性。
Web测试分类:页内测试(IntraPageTest)和跨页测试(InterPageTest)
页内测试的方法:人工走查,使用web页面测试工具.
页面测试准则:直观,一致,灵活,舒适
2.1web页面测试工具
web页面测试的两种思路:1.浏览器测试2.协议测试(在Http上的JavaScript级测试,JavaScript伪协议, POST, WebService).在一些功能测试中,协议测试用的比较的多。
Web测试工具:
1.HttpUnit:HttpUnit是在JUnit之上构建的测试框架,支持Web应用的黑盒测试和in-container容器内测试。作为功能测试工具,也可以用它验证软件是否符合业务需求,以及是否在可视的级别符合预期的行为。HttpUnit的目的加强HTTP对Web应用的访问,支持的特性:状态管理(cookies),提交请求,应答解析(HTML解析),以及网络爬虫(webspider)。HttpUnit还有一个支持容器内测试的类ServletUnit.JUnit提供的断言功能和结果报告的基础上,HttpUnit提供了一个非常有用的web应用测试工具。www.httpunit.org.
2.JWebUnit:HttpUnit上创建的一个辅助工具包,减少测试web程序所要编写的代码,简单当作HttpUnit的宏程序库,提供到HttpUnit代码段的快速方式,简化web程序测试中的大多数行为,HttpUnit的底层接口可以让测试人员定制很多事情,JWebUnit对代码有更好的控制。jwebunit.sourceforge.net
3.StrutsTestCase:是为了测试Struts应用而在Junit基础上创建的测试框架,Structs(MVC模式)使web程序容器间的功能测试和单元测试变得更复杂了。Struts使web程序容器之间(in-container)的功能测试和单元测试变得复杂了,Struts处于servlet容器和程序之间,HttpUnit独立于程序和容器之间.StrutsTestCase转为Struts程序的容器间测试而设计的.strutstestcase.sourceforge.net
4.Selenium:用于web应用程序测试的工具,将核心组件插入到浏览器中,整个测试直接在浏览器中运行,如同真正的用户在操作一样,所有的测试都是可见的。支持的浏览器:IE,Mozilla,Firefox等.测试兼容性,测试系统功能。seleniumhq.org/download
5.HtmlUnit:具有浏览器基本功能的Java组件,HtmlUnit是Junit的扩展测试框架之一。支持HTML,提供API