开源测试工具Selenium或者说开源测试社区OpenQA.org已是今非昔比,两年多前,我曾经介绍过Selenium IDE、Selenium Core和Selenium RC(强大的Web开源测试工具—Selenium)。如今,这个家族又增添了不少新成员,例如:
1.分布式测试环境——Selenium Grid(网格)
Selenium Grid能充分地利用测试环境中的机器,允许同时并行地、在不同的环境上运行多个测试任务,极大地加快Web应用的功能测试.
基于优秀的Web测试工具Selenium,Selenium Grid可以并行地运行多个Selenium Remote Control(RC,远程控制)的实例,而且可以在一台机器上就能控制它们,而不要在乎实际的物理环境。这样,Selenium Grid可以大大地节省测试执行的时间。
对于Selenium RC,又提供了很好的灵活性,测试脚本可以由Ruby, Java, Python, C#, PHP, ...等不同的语言来开发。
最后,告诉大家,Selenium Grid容易安装,也容易使用.
2. 强大的功能测试框架和平台-CubicTest
CubicTest 成为领先的Web功能测试的综合开发环境,虽然现在有很多不同的测试框架,但是CubicTest 具有协调各种相关的Web元素之间的相互作用而独树一帜。不必作为一个程序员去理解CubicTest,唯一要关注的就是要测试Web页面上所能看到的界面元素,而不是HTML源代码。
CubicTest 强力支持 “不重复自己(Don't Repeat Yourself,DRY)”和“测试优先”两大原则。DRY原则通过子测试(subtests,被其它测试调用的测试)实现通用化(Commons)、参数化(parameterization)和抽象等特性,从而使自动化功能测试变得容易。通过图形化建模和HTML输出等特性,CubicTest实现了测试优先的策略。
CubicTest借助像elenium 和Watir的优秀测试框架来驱动测试,而且是图形化方法实现,从而使人们非常容易理解和使用框架。直到最近发布的1.8.6版本,CubicTest才充分发挥了Selenium的所有潜力,并在不久的将来,也能很好支持Watir。
CubicTest 1.8.6的新特性:
3. 单元测试Java库 -Floyd
Floyd是为了更容易实施Web应用的自动化测试而建立的Java库.它提供了对像Mozilla和IE这样标准的浏览器的完全控制能力,以实现Java单元测试。通过调用Floyd's Java API,可以实现浏览器的交互和页面装载,这样可以模拟用户对真实的web浏览器的交互作用。
对于Java web应用,可以采用内嵌式Web服务器来提高测试能力,如访问服务器的session,获取向服务器发出的请求和服务器的响应。Floyd不是对JUnit类的扩张,所以它可以应用于各种单元测试之中,不局限于JUnit 或 TestNG
4. 测试管理工具——Bromine
Bromine 是集成了Selenium Core 和 Selenium Remote Control、完全成熟的QA工具,从而使从事Web应用测试的测试经理和测试工程师的工作变得轻松和有效。借助Bromine,我们可以非常容易(点点鼠标)跟踪和管理测试项目、需求、测试计划、测试用例和缺陷,也可以管理Selenium RC的节点以及像手工测试那样一步一步地执行测试脚本。例如测试人员可以执行所录制的、绑定Selenium IDE格式的脚本,并监控缺陷的提交和将缺陷分派给相应的开发人员。
|
5.最后以一个不是笑话的笑话结束
你们知道上面几个测试工具(Selenium、Bromine等)的名字为什么取得那么难认?
Selenium是硒的英文名称,硒是天然的解毒剂,对有害重金属离子的天然解毒作用,可以解除汞(Mercury)毒,实验表明汞暴露水平越高,硒对汞毒性的拮抗作用越明显,所以说硒是汞的克星, Selenium是Mercury的克星,你知道Mercury 的测试工具吗?做过自动化测试的人都知道:)
溴(Bromine)是非金属单质里面唯一的液体,也是一种很好的微量元素,矿泉水中就有一项质量指标,即溴化物≥1.0 ,溴能调节中枢神经系统活动,具有安定情绪和镇静作用。在医院里普遍使用的镇静剂,有一类就是用溴的化合物制成。
有了Selenium工具,就不需要花费几十万甚至几百万钞票去买Mercury的产品;有了Bromine 调节,我们就不会着急,可以轻松自如地管理软件测试,享受工作和生活。
参考: