Selenium系列教程(2)

时间:2023-12-06 08:04:19

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系列教程(2)

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

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

Selenium系列教程(2)

流程

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

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

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

Selenium RC缺点:

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

Selenium系列教程(2)

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的优点和缺点。

Selenium系列教程(2)

Selenium3

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

境和技

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

支持的浏览

Selenium系列教程(2)

支持的

Selenium系列教程(2)

支持的操作系

Selenium系列教程(2)

支持的测试平台

Selenium系列教程(2)

结论

在本教程中,我们试图让你熟悉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/

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

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