Selenium自动化测试介绍

    当下,自动化测试越来越成为主流的趋势,很多公司都已经在开始使用或者已经使用了好多年。在职场上,不管公司是否真的打算开展自动化测试、是否适合开展自动化测试,都习惯性的把自动化测试写在招聘要求当中,在面试过程中也多多少少会问到一些。所以了解和学习自动化测试时非常有必要的。

    而在自动化测试领域,Selenium和QTP是市场的主流工具,但现在Selenium越来越占据主导地位,在这里,咱们暂不讨论两个工具的优劣,着重介绍一下基于Selenium的自动化测试。

1、Selenium简介

    Selenium 是 ThroughtWorks 公司一个强大的开源 Web 功能测试工具系列,包括 Selenium-IDE、Selenium-RC、Selenium-Webdriver 以及 Selenium-Grid。其中,Selenium-IDE和Selenium-Webdriver二者的结合使用,能够使我们取得事半功倍的效果。

    Selenium 2.0 的主要新功能是集成了 Webdriver 的 API。Webdriver 的设计提供一个更简单、更简洁的编程接口以及解决的 Selenium-RC API 中的一些限制。SeleniumWebdriver 的开发是为了更好地支持动态网页的页面元素可能已经更改,但本身不被重新加载的页面。 Webdriver 的目标是提供一个设计良好的面向对象的 API、提供更好的支持,为 Web 应用程序测试问题

 

2、自动化实施目的 :

    自动执行重复性工作量较大的回归测试; 

    Web系统在不同操作系统和浏览器下的兼容性测试; 

    与CI服务集成,作为持续集成实践的一部分。

自动化测试之所以能在很多大公司实施起来,就是有它适合自动化测试的特点和高的投资回报率。 

3、适用于自动化测试的情形

1. 产品型项目 

    产品型的项目,每个项目只改进少量的功能,但每个项目必须反反复复的测试那些没有改动过的功能。这部分测试完全可以让自动化测试来承担,同时可以把新加入的功能的测试也慢慢地加入到自动化测试当中。 

2. 增量式开发、持续集成项目 

    由于这种开发模式是频繁的发布新版本进行测试,也就需要自动化测试来频繁的测试,以便把人从中解脱出来测试新的功能。 

3. 能够自动编译、自动发布的系统 

    要能够完全实现自动化测试,必须能够具有自动化编译,自动化发布系统进行测试的功能。当然,不能达到这个要求也可以在手工干预下进行自动化测试。 

4. 回归测试 

    回归测试是自动化测试的强项,它能够很好的确保你是否引入了新的缺陷,老的缺陷是否修改过来了。在某种程度上可以把自动化测试工具叫做回归测试工具。 

5. 多次重复、机械性动作 

    自动化测试最喜欢测试:多次重复、机械性动作,这样的测试对它来说从不会失败。比如要向系统输入大量的相似数据来测试压力和报表。 

6. 需要频繁运行测试 

    在一个项目中需要频繁的运行测试,测试周期按天算,就能最大限度的利用测试脚本,提高工作效率。 

7. 将烦琐的任务转化为自动化测试。

4、不适用于自动化测试的情形 

    自动化测试不是适合所有的公司、所有的项目。 

1. 定制型项目(一次性的) 

    为客户定制的项目,维护期由客户方承担的,甚至采用的开发语言、运行环境也是客户特别要求的,即公司在这方面的测试积累就少,这样的项目不适合做自动化测试。 

2. 项目周期很短的项目 

    项目周期很短,测试周期很短,就不值得花精力去投资自动化测试,好不容易建立起的测试脚本,不能得到重复的利用是不现实的。 

3. 业务规则复杂的对象 

    业务规则特别复杂的对象,有很多的逻辑关系、运算关系,工具就很难测试。 

4. 美观、声音、易用性测试 

    人的感观方面的:界面的美观、声音的体验、易用性的测试,也只有人来测试 。

5. 测试很少运行  

    测试很少运行,对自动化测试就是一种浪费。自动化测试就是让它不厌其烦的、反反复复的运行才有效率。 

6. 软件不稳定 

    软件不稳定,则会由于这些不稳定因素导致自动化测试失败。只有当软件达到相对的稳定,没有界面性严重错误和中断错误才能开始自动化测试。 

7. 涉及物理交互 

    工具很难完成与物理设备的交互,比如刷卡的测试等。 

5、自动化测试所使用的的工具和环境

    在自动化测试代码的开发过程中,常用的集成环境为:Eclipse + Selenium + testng + ant + Jenkins 

 

    Eclipse:集成开发工具,用来编写测试代码。 

    Selenium:是 ThoughtWorks 专门为 Web 应用而开发的自动化测试工具,适合进行功能测试、验收测试,选用 2.0 版本 WebDriver。 

    Testng: TestNG 是一种基于注释的测试框架,通过添加诸如灵活的装置、测试分类、参数测试和依赖方法等特性来克服 JUnit 的一些不足之处。 

    Ant:是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于 java 环境中的软件开发,其作用是可以脱离开发环境,编译和运行程序。 

    Jenkins: 之前叫做 Hudson,是基于 Java 开发的一种持续集成工具,用于监控秩序重复的工作,包括:持续的软件版本发布/测试项目、监控外部调用执行的工作。

    至于整个集成环境的搭建,将会在后续的文章中逐步分享,最终实现Eclipse + Selenium + testng + ant + Jenkins 的开发环境的完全搭建成功。

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值