`
阅读更多

先来介绍下Selenium Core

Selenium Core 是一个用来测试 Web 应用的测试工具。Selenium Core的测试直接运行在浏览器中,就像真实的用户在操作一样。它可以分别运行在 WindowsLinux Macintosh 系统的 Internet ExplorerMozilla Firefox 浏览器中。

浏览器兼容性测试 测试你的应用看是否可以在不同的操作系统的不同浏览器上正常工作。同样的脚本可以运行在任何 Selenium 平台上。

系统功能测试 创建回归测试用来检验应用的功能以及用户的满意度。

Selenium Core 使用了一个独特的机制让它可以运行在如此多的平台。测试脚本采用纯JavaScriptDHTML写成,你将 Selenium Core 的测试脚本直接放置到你的应用程序所在的 Web 服务器中,就可以在客户端使用任何受支持的浏览器运行测试了。

Selenium 使用 JavaScript Iframe 自动化的测试引擎嵌入到你的浏览器中。这项技术应该可以工作在任何启用 JavaScript 的浏览器中。因为不同的浏览器处理 JavaScript 有些不同,所以我们通常不得不调整引擎以便更广泛的支持 WindowsMac OS X Linux 上的不同浏览器。

下面说下运行Selenium Core需要的环境:

l         Open QA下载最新的Selenium Coreselenium-core-0.8.2.zip

l         把下载的selenium-core-0.8.2.zip解压到你的web服务器中,下面我将在Tomcat中演示。

安装步骤:

第一步:去apache.org下载tomcat安装包。

第二步:正确安装tomcat

第三步:去Open QA下载Selenium Core

第四步:解压Selenium Core包到D:\selenium

第五步:配置tomcat文件,配置一个sc.xml,其他配置项为<Context path="/sc" docBase="D:/selenium/selenium-core-0.8.2" debug="0" privileged="true">

第六步:运行tomcat服务

第七步:打开浏览器,输入:http://localhost:8080/sc/

这时你能看到下图界面:

 

 

这时说明Selenium Core已经运行正常。

我们可以做一个Selenium Core自带的小例子进行测试。

点击Selenium TestRunner进入Selenium Core主界面

 

 

点击Go,进入Test Suite界面

 

 

点击左边单个的test case,我们能进入查看和运行相应的单个test。点击中间test case的步骤,能增加或删除断点。测试的应用程序界面,将展示在下部。如下图:

 

 

下面介绍下下部右边的按钮功能:

l          Execute Tests下四个按钮 分别表示运行所有Test Suite、运行选中的Test Suite、暂停或继续、下一步

l         表示运行Test Suite度的快慢

l          Highlight elements选中表示运行的进程将高亮显示

l         Tools下两个按钮分别表示浏览你的界面结构、查看一些错误信息

讲到这里,估计大家都会怎么来初步运行Selenium Core了。Selenium Core的安装就讲到这里。以后再深入来介绍Selenium Core的具体用法。

 

这些是收集起来的关于Selenium Core的常见问题列表。我们鼓励人们丰富这个列表并对列出的内容进行回馈:

  1. Selenium是用来做什么的?
    • 它用来对Web应用程序做功能或系统测试。这些测试有些时候也被称作接收测试/用户测试/集成测试。Selenium不止意味着单元测试。
  2. 为什么我不能让Selenium Core在Google上工作? - 我尝试写一个简单的脚本进行google搜索。我遇到了各种各样的问题。它在你那里可以工作么?这是我的测试:
    Test Type   
    open http://www.google.com/  
    type q testing tools
    click submitButton  
    • 简单的回答是因为所有浏览器的JavaScript引擎内建的跨站点脚本安全策略,你不能编辑其它域内的网页的内容。外部的页可以正确的在test runner窗口中看到,但是Selenium不能查询或者编辑它里面的内容。
      换句话说,你不能在"foo.com"运行selenium来测试和编辑"bar.com"上的值或着电击上面的按钮。所以,在当前的方式下,你不能给google写"脚本"因为你的脚本并没有放在google.com。如果Selenium和你在测试的应用程序在同一个域中,当然,你就不会遇到跨站点脚本安全问题造成的功能限制了。
      • 你可以在这里阅读到更多源于跨站点脚本的问题:开发文档
  3. 我如何在外域或者远程的服务器上运行我的测试脚本,绕过跨站脚本安全问题?
    • 这里有几种方法可以绕过跨站脚本安全(限制):
      • 如果可能,部署将Selenium Core和你的测试部署在你正在测试的应用程序里面。
      • 或者:使用 Selenium IDE 运行你的自动化测试。Selenium IDE是一个firefox扩展(插件),(它以"chrome" url方式运行)这样它不受浏览器的安全限制。
      • 或者:使用 Selenium Remote Control 运行你的测试。Selenium Remote Control提供一个配置在客户端的代理,来欺骗浏览器,使其认为应用程序和测试工具(脚本)来自同一个域。
      • 或者:让Selenium作为"HTA"应用程序运行,或者在Internet Explorer中作为"HTML Application"运行。HTA应用运行于与其它受信的客户端应用程序相同的安全上下文中,所以不会受到跨域脚本的安全限制。(你可以在这里得到更多消息:MSDN
      • 还有,请查看相关的问题:"为什么我不能给google.com写脚本"。
  4. 你如何创建测试表格?
    • The developers on the Selenium project use Mozilla Composer to create plain HTML text files for their
      tests. By default, Mozilla Composer writes very clean HTML without any extra, unnecessary markup.
      • You can also use Selenium IDE to write your tests scripts.
      • Another option is any text/html editor to create test tables. Future versions of Selenium may support RST (ReStructred Text), or wiki-table syntax, natively. However, you are free to use another format now, as long as you remember to generate the HTML files from your source files, either during your build process or dynamically at run-time.
  5. So I was able to deploy Selenium and my app showed up in the TestRunner, but my tests are failing with no errors, what gives?

分享到:
评论

相关推荐

    Selenium Core实例所用的JavaScript代码

    从给定的文件信息来看,我们正在探讨的主题是Selenium Core在执行自动化测试时所使用的JavaScript代码。Selenium Core是一个用于Web应用程序测试的框架,它允许开发者编写脚本以模拟用户与网页的交互,从而进行功能...

    selenium-core-0.8.2.zip

    Selenium Core 是一个用来测试 Web 应用的测试工具。Selenium Core的测试直接运行在浏览器中,就像真实的用户在操作一样。它可以分别运行在 Windows,Linux 和 Macintosh 系统的 Internet Explorer,Mozilla 和 Fire...

    selenium-server-standalone-2.25.0.jar

    (4).Selenium Core接收到指令后,执行操作。 (5).浏览器收到新的页面请求信息(因为在(4)中,Selenium Core的操作可能引发新的页面请求),于是发送Http请求,请求新的Web页面。 由于Selenium Server在启动浏览器时...

    Selenium测试工具研究报告

    1. **Selenium Core**:作为Selenium IDE和Selenium RC的基础引擎,它支持DHTML测试案例,类似于数据驱动测试,为用户提供灵活的测试框架。 2. **Selenium IDE**:这是一个Firefox插件,提供脚本录制功能,简化了...

    Selenium介绍及原理解析.docx

    Selenium RC包括Selenium Core、Selenium Server和各种语言的类库。 4. Selenium Grid:扩展了Selenium的功能,提供了一个中心节点(hub)来管理和调度测试执行,可以在多台机器上并行运行测试,提高测试效率。 ...

    selenium私房菜系列

    1.Selenium Core:支持DHTML的测试案例(效果类似数据驱动测试),它是Selenium IDE和Selenium RC的引擎。 2.Selenium IDE:FireFox的一个插件,支持脚本录制。 3.Selenium RC:Selenium Remote Control。后续...

    seleniumwebdriver(python)第三版.rar

    selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作...Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可以用于任何支持JavaScript的浏览器上。

    python中selenium库的基本使用详解

    什么是selenium selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7...Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因

    Selenium深入浅出1.0

    Selenium通过模拟真实用户的操作来完成测试任务,其核心组件包括Selenium Core(现在称为WebDriver)、Selenium Grid等。Selenium Core负责与Web浏览器交互,发送指令给浏览器执行特定操作。 - **Selenium Core**:...

    python+selenium自动化入门.ppt

    1. **Selenium Core**:作为Selenium IDE和Selenium RC的基础,它负责DHTML测试案例的执行,具有类似数据驱动测试的效果。 2. **Selenium IDE**:这是Firefox的一个插件,提供了脚本录制功能,能够方便快捷地创建...

    selenium-server-2.25.0.rar

    Selenium Server主要控制浏览器行为,总的来说,Selenium Server由三部分组成:Launcher、Http Proxy、Selenium Core,其中Selenium Core是在Selenium Server启动浏览器时,嵌入到浏览器中的。Selenium Core是一堆...

    selenium webdriver基于python源码案例

    其中 Selenium Core 是被 Selenium Server 嵌入到浏览器页面中的,Selenium Core 内部是一堆 JavaScript 函数构成,通过调用这些函数来实现对浏览器的各种操作。 Selenium 的第二个阶段是 Selenium2,Selenium2 ...

    selenium面试笔试题

    Selenium的不同组件如Selenium IDE、Selenium RC、Selenium Core和Selenium Grid的提及,解释了Selenium框架的架构和各个组件的作用。例如,Selenium IDE可以录制和回放测试脚本,而Selenium Grid可以分配测试脚本到...

    selenium webdriver基于python源码案例.pdf

    Selenium Core是一组JavaScript函数,通过这些函数可以在浏览器中执行各种操作。 - **Selenium 2 (WebDriver)**:随着技术的进步,WebDriver成为了主流。WebDriver更直接地控制浏览器,不再依赖于Selenium Server,...

    selenium-dotnet-2.0b2.zip

    10. ThoughtWorks.Selenium.Core.dll:ThoughtWorks公司开发的Selenium Core库,提供了一些基础的Web元素操作和测试命令。 总的来说,"selenium-dotnet-2.0b2.zip" 是一个包含了Selenium WebDriver .NET绑定的...

Global site tag (gtag.js) - Google Analytics