`
Arron.li
  • 浏览: 136078 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JsUnit和Selenium介绍

    博客分类:
  • J2EE
阅读更多

JsUnit和Selenium介绍

JsUnit,JavaScript单元测试工具,类似JUnit的javascript脚本单元测试工具。下列表格比较jsUnit和JUnit。

JUnit

JsUnit

单元测试类继承 TestCase

需测试的 HTML 页面包含 jsUnitCore.js

测试方法

测试函数

基于 Test

基于 HTML 的测试页

TestSuites

基于 HTML 的测试集

多个测试运行工具

基于 HTML/JavaScript 的测试运行工具

setUp() tearDown() 方法

setUp() tearDown() 函数

在虚拟机中运行

在浏览器中运行

Java 编写

JavaScript 编写


Selenium
是一个开源的基于Web的测试工具,采用 JavaScript来管理整个测试过程,包括读入测试套件、执行测试和记录测试结果。它就是采用 JavaScript单元测试工具 JSUnit http://www.edwardh.com/jsunit / )为核心, 模拟真实的用户操作,包括浏览页面、点击链接、输入文字、提交表单等等,并且能够对结果页面进行种种验证。也就是说,只要在测试用例中把预期的用户行为与结果都描述出来,我们就得到了一个可以自动运行的功能测试套件。
同时
Selenium还有如下好处:

he main advantage that Selenium has over the other tools I mentioned is that it's cross-platform, cross-browser. The main disadvantage is that it requires server-side instrumentation. The syntax used by the Selenium JavaScript engine inside the browser is called "Selenese". In Bret Pettichord's words from his blog :

"You can also express Selenium tests in a programming language, taking advantage of language-specific drivers that communicate in Selenese to the browser bot. Java and Ruby drivers have been released, with dot-Net and Python drivers under development. These drivers allow you to write tests in Java, Ruby, Python, C#, or VB.net."
它的实现原理也很简单,Selenium核心是用javascript写的,它能和浏览器进行通信,把测试用例信息发送给浏览器执行,从而达到自动测试的目的。
而且看了一下源码,应该就是通过在一个页面的2个iframe中,控制iframe监控和控制另外一个ifame的请求和执行状况。这样一个较大的问题就是跨域的问题,如果跨域的话,那么可能控制就失效了。

Selenium 有几个不同的产品,如下:

(1)Selenium Core
Selenium Core是Selenium的核心,是由javascript代码和html文件组成的。它的作用就是把测试用例的数据发送给浏览器,根据返回结果判断功能是否实现。

单独使用Selenium Core,需要把Selenium Core包和web应用程序一起发布。
下载Selenium Core压缩文件,解压后得到一个文件夹。因为都是html和javascript的静态文件,所以直接把这个文件夹放到Web应用程序中就可以了。
如果是Rails程序,需要放到public目录下。
如果是J2EE程序,可以放到webContent的目录下,和其他Jsp,Js以及配置文件组织在一起。
做到这一步后,Selenium Core就集成到应用程序中了,下一步需要写测试用例。
Selenium Core解压后的文件夹中有一个tests目录,这个目录保存的是所有的测试用例。只要是自己写的测试用例,都应该放到这里面。
测试用例可有三种方式书写:
1. Command Line方式。
2. Html脚本文件方式
3. 程序方式。
      在使用Selenium Core时,需要使用Html脚本文件方式编写用例。
(2)Selenium IDE
Selenium IDE提供了一个浏览器的插件,在浏览器的该插件模式下,可以定义测试用例,进行测试。
目前只提供了Firefox一种浏览器的插件。
如果使用Selenium IDE,不需要对Web应用程序做任何改动,测试用例也是在浏览器的UI界面下定义和录制。
(3)Selenium RC
Selenium RC允许用程序语言编写测试用例,比如Jave,Ruby等。这样做的好处是,可以把Selenium和其他测试框架,比如Junit集成,进行集成测试。
Selenium RC比其他包要大,主要包含了下面几部分:
a. Selenium核心。
b. Selenium Server运行时环境。
c. Selenium提供的针对各种语言的开发接口。
Selenium核心和Server运行时环境都放在selenium-server.jar中。Selenium RC提供的应用程序接口主要有下面几种语言,Java,Ruby,Php,Phthon,Perl,.Net。

分享到:
评论

相关推荐

    Selenium介绍及原理解析.docx

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

    seleniumwebdriver(python)第三版.rar

    selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。 Selenium的核心Selenium Core基于JsUnit,完全由...

    python中selenium库的基本使用详解

    selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。 Selenium的核心Selenium Core基于JsUnit,完全由...

    开源测试工具-selenium下载

    - **jsunit**:可能是一个JavaScript单元测试框架,与Selenium配合使用,用于测试Web页面中的JavaScript代码。 - **tests**:这个目录可能包含了示例测试脚本或测试套件,展示如何使用Selenium进行测试。 - **META-...

    Selenium_WebDriver_API

    selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。 Selenium的核心Selenium Core基于JsUnit,完全由...

    Seleniumpython编程.rar

    selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。 Selenium的核心Selenium Core基于JsUnit,完全由...

    私房菜(新手入门教程 Selenium).rar

    selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。 Selenium的核心Selenium Core基于JsUnit,完全由...

    Selenium模拟浏览器

    Selenium模拟浏览器简介,它的核心selenium core基于jsunit,完全由js编写,因此可以运行于所有支持js的浏览器上. 和一些案例

    Pro Ajax and Java.pdf

    - **测试工具**:JsUnit和Selenium等工具用于自动化测试JavaScript程序的功能和性能。 #### 三、库与工具包 - **Java无关的工具包** - **Prototype**:这是一个流行的JavaScript库,提供了丰富的API来简化DOM操作...

    Pro Ajax and Java.pdf 下载

    - **测试工具**:JsUnit、Selenium等,用于自动化测试,确保Ajax功能的稳定性和可靠性。 ### 关键知识点三:Ajax模式与技巧 **知识点描述**:《Pro Ajax and Java》中提到了几种常用的Ajax模式和技术,如Fade ...

    debug javascript

    利用word调试javascript. 各种js框架都有log解决方案(我们知道log优于debug),还有selenium和jsunit保驾护航,如果你使用firefox,还可以用firebug插件监视js、css、XHR甚至直接观察网络上传输的http包,...

Global site tag (gtag.js) - Google Analytics