自动化测试基础(selenium)

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

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

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

  2、如果被测产品是B/S 结构,那么推荐selenium 。因为selenium 对B/S应用支持很好,更重要的一点,它支持多语言的开发。

selenium

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

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

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

    (1)快速的创建bug重现脚本,在测试人员的测试过程中,发现了bug之后可以通过IDE将重现的步骤录制下来,以帮助开发人员更容易的重现bug。

    (2)IDE录制的脚本可以可以转换成多种语言,从而帮助我们快速的开发脚本。

  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。

3、需要强调的是,在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太简陋了,能不能生成一张漂亮的测试报告出来。能不能定时的来跑这个脚本。

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

猜你喜欢

转载自www.cnblogs.com/lipp1624/p/10643071.html