自动化测试基础(selenium)

桌面程序的测试工具备:QTP、 AutoRunner。javascript

web应用的测试工具备:QTP、AutoRunner、Robot Framework、watir、selenium。php

  一、假如被测试的产品是C/S架构的,那么推荐QTP ,QTP在UI自动化测试领域占到了一半的试用率。要想学好QTP ,你必需要掌握VBS脚本语言。css

  二、若是被测产品是B/S 结构,那么推荐selenium 。由于selenium 对B/S应用支持很好,更重要的一点,它支持多语言的开发。java

selenium

一、elenium 是支持java、python、ruby、php、C#、JavaScript 。python

二、elenium 并非单纯的一个工具,他是一组工具的集合,每一个工具都有特定的使用场景。并且,他还有1.0与2.0之分,固然3.0也已经到来。web

  selenium IDE 是嵌入到Firefox浏览器中的一个插件,实现简单的浏览器操做的录制与回放功能。浏览器

    (1)快速的建立bug重现脚本,在测试人员的测试过程当中,发现了bug以后能够经过IDE将重现的步骤录制下来,以帮助开发人员更容易的重现bug。安全

    (2)IDE录制的脚本能够能够转换成多种语言,从而帮助咱们快速的开发脚本。ruby

  Selenium Grid是一种自动化的测试辅助工具,Grid经过利用现有的计算机基础设施,能加快Web-app的功能测试。利用Grid,能够很方便地同时在多台机器上和异构环境中并行运行多个测试事例。其特色为:服务器

    (1)并行执行;

    (2)经过一个主机统一控制用例在不一样环境、不一样浏览器下运行;

    (3)灵活添加变更测试机。

  selenium RC 是selenium 家族的核心工具,selenium RC 支持多种不一样的语言编写自动化测试脚本,经过selenium RC 的服务器做为代理服务器去访问应用从而达到测试的目的。

    selenium RC 使用分Client Libraries和selenium Server。

      (1)Client Libraries库主要用于编写测试脚本,用来控制selenium Server的库。

      (2)Selenium Server负责控制浏览器行为, 总的来讲,Selenium Server主要包括3个部分:Launcher、 Http Proxy、Core。

        A:其中Selenium Core是被 Selenium Server嵌入到浏览器页面中的。其实Selnium Core就是一堆JS函数 的集合,就是经过这些JS函数,咱们才能够实现用 程序对浏览器进行操做。

        B:Launcher用于启动浏览器,把selnium Core加载到浏览器页面当中,并把浏览器的代理设置Selenium Server 的Http Proxy。

三、须要强调的是,在selenium 2.0 中主推的 是WebDriver ,WebDriver 是selenium RC 的替代品,由于 selenium 为了向下兼容性,因此 selenium RC 并无完全抛弃,若是你使用selenium开发一个新自动化测试项目,强列推荐

用WebDriver 。

  (1)selenium RC 在浏览器中运行JavaScript应用,使用浏览器内置的JavaScript 翻译器来翻译和执行selenese命令(selenese 是selenium命令集合)。

  2)WebDriver经过原生浏览器支持或者浏览器扩展直接控制浏览器。WebDriver针对各个浏览器而开发,取代了嵌入到被测Web应用中的JavaScript。与浏览器的紧密集成支持建立更高级的测 试,避免了JavaScript安全模型致使的限制。

  (3)除了来自浏览器厂商的支持,WebDriver还利用操做系统级的调用模拟用户输入。

  (4)若是是新项目直接学习webdriver 就OK了,RC是过期技术。

selenium学习路线:

  (1)配置你的测试环境,针对你所学习语言,来配置你相应的 selenium 测试环境。

  (2)接着你须要熟悉webdriver API 。API就是selenium 所定义一方法,用于定位,操做页面上的各类元素。

  (3)先学习元素的定位,selenium 提供了id、name、class name、 tag name、link text、partial link text、 xpath、css、等定位方法。xpath和css 功能强大语法稍微复杂,在这其间你可能还须要了解更多的前 端知识。xml     ,javascript 等。

  (4)定位元素的目的是为了操做元素,接就要学习各类元素有操做,输入框,下拉框,按钮点击,文件上传、下载,分页,对话框,警告框...等等。

  (5)接着你须要作的就是把这些“用例”组织起来,统一来跑。

  (6)学习并使用单元测试框架,单元测试框架自己就解决了用例的组织与运行。

*当你写了一些“测试用例” 以后,你会发现用例中有大 量重复的操做,能不能写到一个单独的文件中,须要的时候调用这些操做。

*而后,你又发现每一个用例中都有 一些数据,这些数据也是同样的,但若是变化了修改起来很是麻烦,也能够把他写到一个单独的文件中进行读取。

*我怎么知道用例运行失败仍是成功。那么就须要在脚本中加一些验证与断言。

*单元测试框架的log太简陋了,能不能生成一张漂亮的测试报告出来。能不能定时的来跑这个脚本。

*能不能每一次跑脚本的测试结果直接发到个人邮箱。

相关文章
相关标签/搜索