zoukankan      html  css  js  c++  java
  • Selenium系列教程(2)


    Selenium RCSelenium程控制)

    Selenium RC是一个用Java编写的,允许用户使用无论哪种编程语言对基于Web的应用程序构建测试脚本的工具。Selenium RC克服了Selenium IDE以及Selenium核心各种缺点的。

    Selenium核心的漏洞和限制使得用户很难认识到该工具整体上的优点。因此,这也使得测试过程成为了繁琐并难以达到的任务。

    其中一个重要的限制就是同源策略

    同源策略的问题

    同源策略问题是指,不允许从不同于我们访问文件的起点来试图访问文件的DOM。

    起点指的是有序的URL的方案,主机和端口的顺序组合。例如,对于一个URL:http://www.seleniumhq.org/projects/来说,相应的起点是http,seleniumhq.org以及80的组合。

    因此,Selenium核心(JavaScript程序)无法从与发起起点不同的地方来访问内容。

    例如,如果我在“http://www.seleniumhq.org/”上推出JavaScript程序的话,那么我将能够通过同一个域中的网页来访问,如“http://www.seleniumhq.org/projects/”或“http://www.seleniumhq.org/download/”。其他例如google.com,yahoo.com的域则不能访问。

    因此,为了使用Selenium核心来测试应用,你需要在Selenium核心上安装整个应用程序包括Web服务器,以克服同源策略的问题。

     

    于是,为了不使用在Selenium核心上复制整个应用程序来解决同源策略问题,下面我们就要介绍一下Selenium远程控制。当杰森·哈金斯在演示Selenium的时候,另一ThoughtWorks的同事Paul Hammant提出了一个解决同源策略的工具,还可以与我们选择的编程语言进行结合。于是Selenium RC应运而生。

    与Selenium IDE不同,SeleniumRC支持多种浏览器和平台。

     

    流程

    • 用户使用他们希望的编程语言来创建测试脚本。
    • 对于每一个编程语言,都有一个指定的客户端库。
    • 客户端库将测试命令传递到Selenium服务器。
    • Selenium服务器解密并转换测试命令为JavaScript命令,并将其发送给浏览器。
    • 浏览器通过使用Selenium核心来执行命令,并发送结果返回给Selenium服务器
    • Selenium服务器提供测试结果给客户端库。

    有几个先决条件是在建立Selenium RC的脚本之前所必需的:

    • 会一种编程语言——Java,C#,Python等等。
    • 有一个集成开发环境——eclipse,NetBeans等等。
    • 一个测试框架(可选)——JUnit,TestNG等等。
    • 和Selenium RC的安装设定

    Selenium RC缺点:

    即将要介绍的是SeleniumRC的优缺点,请参阅下图。

    Selenium Grid

    有了SeleniumRC后,测试人员的生活好了很多,直到新趋势提出要求,需要在多个平台和浏览器执行相同或不同的测试脚本,以实现分布式测试、在不同环境下的测试以及显著节省执行时间。因此,综合这些要求Selenium Grid应运而生。

    Selenium Grid是由Pat Lightbody为了解决同时在多个平台上执行测试套件而产生。

    Selenium webdriver

    Selenium webdriver是由ThoughtWorks的另一个工程师,Simon Stewart在2006年创造的。webdriver也是一个基于Web的测试工具,与Selenium RC有一些微妙的差异。因为,该工具是基于为不同浏览器建立分离的客户端的基础上建立的;无需JavaScript的提升。这就带来了Selenium RC的和webdriver之间的兼容性分析。其结果是带来了一个更强大的自动化测试工具的开发,Selenium2。

    webdriver的是干整洁的,纯粹的面向对象的框架。它利用自动化浏览器的原生兼容性,而无需使用任何外部个体。日益增加的需求带来了大量的人气和用户群。

    Selenium webdriver缺点:

    请参考下图的webdriver的优点和缺点。

     

    Selenium3

    Selenium3是Selenium2的高级版本,是专注于移动和Web应用程序自动化的工具。说它支持移动测试的意思是说,对webdriver的API进行了扩展,以解决移动应用测试的需求。该工具预计将在市场上正式推出。

    境和技

    随着Selenium套件各个新工具的出现和增加,环境和技术变得更加兼容。这里是Selenium的工具集支持环境和技术的详细列表。

    支持的浏览

     

    支持的

     

    支持的操作系

     

    支持的测试平台

     

    结论

    在本教程中,我们试图让你熟悉Selenium套件的各个组成部分,它们各自的用途和优势。

    以下是篇文章明的问题

    • Selenium是包含几个自动化测试工具的套件,他们各自适合不同的测试需求。
    • 所有这些工具属于开源类,并且仅支持基于Web的测试。
    • Selenium套件由4个基本部分组成; Selenium IDE,Selenium RC,webdriver,Selenium Grid。
    • 用户需要根据需要明智的选择合适的Selenium工具。
    • Selenium IDE的是一个Firefox插件,比较容易安装和使用。用户并不需要具备编程知识。SeleniumIDE是一个初学者用户的理想工具。
    • Selenium的RC是一个允许用户使用期望的编程语言创建测试脚本的服务器。它还允许使用不同的浏览器来执行测试脚本。
    • Selenium Grid在Selenium RC的基础上带来了额外的功能,能够在同一时间执行分配在不同的平台和浏览器的测试脚本,从而实现主从式架构。
    • webdriver的是一个完全不同的工具,拥有了Selenium RC的各种优点。SeleniumRC和webdriver合并也被称为Selenium2。webdriver直接与Web浏览器通信,并使用其兼容性实现自动化。
    • Selenium3是最值得期待的Selenium套件成员之一,尚未在市场上推出。 Selenium3大力支持移动测试。

    在接下来的教程中,我们将讨论有关Selenium IDE的安装和功能的基本知识。我们也会介绍Selenium IDE的基本术语和符号说明。

    接下来Selenium教程:介绍SeleniumIDE及其安装以及Selenium IDE的所有功能的详细研究(即将推出)

    【英文原文:http://www.softwaretestinghelp.com/selenium-tutorial-1/

    {测试窝原创译文,译者:大头}

    译者简介:大头,在读日本九州大学修士,计算机专业,主研究方向为文本挖掘,及自然语言处理。

  • 相关阅读:
    linux命令应用之一
    HIVE配置错误信息
    二分查找(JAVA)
    HBase1.0.1.1 API与原来有所不同
    hbase shell中log4j重复问题
    hadoop本地库无法加载
    利用mapreduce将数据从hdfs导入到hbase遇到的问题
    HBase伪分布式环境下,HBase的API操作,遇到的问题
    Hadoop开发中,如何开启、关闭控制台打印调试信息
    Hadoop的mapreduce开发过程,我遇到的错误集锦(持续更新)
  • 原文地址:https://www.cnblogs.com/tian830937/p/5121273.html
Copyright © 2011-2022 走看看