`
daniel_tu
  • 浏览: 184556 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

开源测试工具/社区(Selenium /OpenQA.org)——今非昔比

阅读更多

开源 测试工具 Selenium 或者说开源测试社区 OpenQA.org 已是今非昔比, 前,我曾经介绍过 Selenium IDE Selenium Core Selenium RC 强大的 Web开源 测试工具 —Selenium )。如今,这个家族又增添了不少新成员,例如

  • 分布式测试环境—— Selenium Grid
  • 强大的功能测试框架和平台- CubicTest
  • 单元测试 Java Floyd
  • 测试管理工具—— Bromine
  • Java 、轻量级应用的测试工具—— Frankenstein
  • Rails 应用测试方法—— Selenium on Rails
  • C# / Ruby 脚本录制工具—— Watir Maker
  • 基于 Watir Web 测试工具—— WET
  • 构建 Java 单元测试的一套工具—— JTC Java Testing Commons

 

1 .分布式测试环境—— Selenium Grid (网格)

Selenium Grid 能充分地利用测试环境中的机器,允许同时并行地、在不同的环境上运行多个测试任务,极大地加快Web 应用的功能测试.

基于优秀的Web 测试工具Selenium Selenium Grid 可以并行地运行多个Selenium Remote ControlRC ,远程控制)的实例,而且可以在一台机器上就能 控制它们,而不要在乎实际的物理环境。这样,Selenium Grid 可以大大地节省测试执行的 时间。

对于Selenium RC ,又提供了很好的灵活性,测试脚本可以由Ruby, Java, Python, C#, PHP, ... 等不同的语言来开发。

最后,告诉大 家,Selenium Grid 容易安装,也容易使用.


 

 

 

2. 强大的功能测试框架和平台- CubicTest

CubicTest 成为领先的Web 功能测试的综合开发环境,虽然现在有很多不同的测试框架,但 是CubicTest 具有协调各种相关的Web 元素之间的相互作用而独树一帜。不必作为一个程序员去理 解CubicTest , 唯一要关注的就是要测试Web 页面上所能看到的界面元素,而不是HTML 源代码。

CubicTest 强力支持 “不重复自己(Don't Repeat YourselfDRY )”和“测试优先”  两大原则。DRY 原则通过子测试(subtests , 被其它测试调用的测试)实现通用化(Commons )、 参数化(parameterization ) 和抽象等特性,从而使自动化功能测试变得容易。通过图形化建模和HTML 输出等特性,CubicTest 实现了测试优先的策略。

 CubicTest 借助像ele nium Watir 的优秀测试框架来驱动测试, 而且是图形化方法实现,从而使人们非常容易理解和使用框架。直到最近发布的1.8.6 版本,CubicTest 才充分发挥了Selenium 的所 有潜力,并在不久的将来,也能很好支持Watir

CubicTest 1.8.6 的新特性:

  • 支持多帧(multi-frames )结构
  • 国际化(I18N )支持,多国语言的站点
  • 自定义步骤,具有调试的能力
  • 捕获各种HTML 和图像的问题

 

3. 单元测试 Java Floyd

Floyd 是为了更容易实施Web 应用的自动化测 试而建立的Java. 它提供了对像MozillaIE 这样标准的浏览器的完全控制能力, 以实现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 格式的脚本,并监控缺陷的提交和将缺陷分派给相应的开发人 员。

 

 

  • 完全成熟的QA 工具
  • 创建项目
  • 将需求和项目绑定起来
  • 将测试和需求绑定起来
  • 容易组织和执行测试
  • 浏览和分析测试结果
  • 提交缺陷报告
  •  

     

    5. 最后以一个不是笑话的笑话结束

    你们知道上面几个测试工具( Selenium Bromine 等)的名字为什么 取得那么难认?

    Selenium 是硒的英文名称,硒是天然 的解毒剂,对有害重金属离子的天然解毒作用,可以解除汞( Mercury )毒,实验表明 汞暴露水平越高,硒 对汞毒性的拮抗作用越明显,所以说 硒是汞的克星 , Selenium Mercury 的克星,你知道 Mercury 的测试工具吗?做 过自动化测试的人都知道 :)

    溴( Bromine )是非金属单质里面唯一的液体,也是一种很好的微量元素,矿泉水中就有一项 质量指标,即溴化物 ≥1.0 ,溴能调节中枢神经系统活动,具有安定情绪和镇静作用。在医院里普遍使用的镇静剂,有一类就是用溴的化 合物制成。

    有了 Selenium 工具,就不需要花费几十万甚至几百万钞票去买 Mercury 的产品;有了 Bromine 调节,我们就不会 着急,可以轻松自如地管理软件测试,享受工作和生活。

    参 考:

  • YouTube - GTAC 2007 : Jason Huggins & Jen Bevan - Extending Selenium
  • Selenium framework - Google Test Automation Conference | Google Groups  
  •  

    分享到:
    评论

    相关推荐

      Selenium测试需要jar包完全版

      import org.openqa.selenium.chrome.ChromeDriver; public class SimpleSeleniumTest { @Before public void setUp() { System.setProperty("webdriver.chrome.driver", "path/to/chromedriver"); WebDriver ...

      selenium+chromedriver120.0.6046.0-win64+python自动化操作

      selenium+chromedriver120.0.6046.0-win64+python测试代码 项目介绍: 该案例是利用selenium使用xls中的数据对表单自动化填充及提交 项目中用到了chromedriver版本为120.0.6046.0系统win10 64位,需要安装谷歌浏览器...

      selenium-dotnet-3.14.0.zip

      selenium c#开发库 selenium-dotnet-3.14.0 using Selenium;//引用Selenium using OpenQA.Selenium; using OpenQA.Selenium.Chrome;//支持Chrome

      selenium-java-3.141.59.zip

      import org.openqa.selenium.chrome.ChromeDriver; public class SeleniumExample { public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "path/to/your/chromedriver"); ...

      selenium-3.141.0.tar.gz

      Selenium 是一个强大的开源自动化测试框架,用于网页应用程序。它支持多种编程语言,如 Python、Java、C#、Ruby 等,使测试工程师能够编写可跨多个浏览器和平台运行的自动化测试脚本。Selenium 的核心组件包括 ...

      selenium3.141.59.zip

      Selenium 是一个强大的开源自动化测试框架,用于模拟用户在网页上的各种交互操作。3.141.59 版本是 Selenium 的一个重要版本,它提供了稳定性和性能的改进,适用于 Java 平台的浏览器自动化测试。这个版本的 ...

      selenium.remote.server:Selenium Grid 项目的 org.openqa.selenium.remote.server 实用程序类

      selenium.remote.server 此代码基于 Selenium 项目中 Selenium Grid 的重构版本,可在原始代码已被拆分,并进行了一些小改动以允许模块化已制造Selenium Grid 项目的 org.openqa.selenium.remote.server 实用程序类

      README.txt

      import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.htmlunit.HtmlUnitDriver; import static junit.framework...

      selenium-java 3.7.1.jar

      Selenium是一个开源的工具集,广泛应用于软件测试领域,特别是对于Web应用的功能性和兼容性测试。 Selenium WebDriver是Selenium的核心部分,它提供了一种标准的API,可以与不同的浏览器进行交互。通过WebDriver,...

      Selenium-Java-3.141.59 安装包

      Selenium 是一个强大的开源自动化测试框架,主要用于Web应用程序的测试。它支持多种编程语言,包括Java,这使得它成为Java开发人员进行Web自动化测试的首选工具。本安装包" Selenium-Java-3.141.59"是Selenium为Java...

      selenium-3.0.0b2.tar.gz

      Selenium 是一个强大的 Web 自动...总之,Selenium 是一个功能强大的 Web 自动化测试工具,通过安装 "selenium-3.0.0b2.tar.gz" 并按照正确的步骤进行,可以将其集成到 Python 开发环境中,为 Web 应用的测试提供便利。

      Selenium.WebDriver.3.141.0

      压缩包中的文件“Selenium.WebDriver.3.141.0”很可能包含了Selenium WebDriver的.NET Framework绑定,这是一组库,使.NET开发者可以直接在他们的代码中调用WebDriver API。通常,这个包会包括WebDriver的DLL文件、...

      Selenium

      它由 ThoughtWorks 公司开发,并且随着时间的发展已经成为一个开源项目,得到了广泛的社区支持。Selenium 的主要优势在于其能够模拟真实用户的浏览器行为,这使得它在功能测试、回归测试以及界面测试方面表现卓越。 ...

      C#使用Selenium+PhantomJS抓取数据

      - 引入必要的命名空间:`OpenQA.Selenium`、`OpenQA.Selenium.PhantomJS`和`System`。 - 创建一个名为`Program`的类,在其中定义`Main`方法。 - 在`Main`方法中,初始化`IWebDriver`实例,使用`PhantomJSDriver`...

      开源自动化测试工具selenium的使用教程.pdf

      Selenium 是现在使用最为广泛的一款开源自动化测试工具,也是非商业支持的稳定性易用性最好的一款自动化测试工具。与 QTP 相比,Selenium 不仅在软件投资上有比较大的优势,在针对 web 测试的稳定性上也有绝对的优势...

      selenium.server:Selenium Grid 项目的 org.openqa.selenium.server 实用程序类

      Selenium服务器 此代码基于 Selenium 项目中 Selenium Grid 的重构版本,可在原始代码已被拆分,并进行了一些小改动以允许模块化已制造 Selenium Grid 项目的 org.openqa.selenium.server 实用程序类

      selenium3.141.59浏览器驱动之IEDriverServer最新版 32位

      在Web自动化测试领域,Selenium是一个广泛使用的开源工具,它允许开发者编写代码来控制浏览器,进行网页应用的功能测试。而Selenium与浏览器交互的关键就在于浏览器驱动程序,其中针对Internet Explorer(IE)浏览器...

      seleniumDriver

      import org.openqa.selenium.firefox.FirefoxDriver; public class FirstExample { public static void main(String[] args) { WebDriver driver = new FirefoxDriver(); driver.get("http://www.google.com.hk"...

    Global site tag (gtag.js) - Google Analytics