没有合适的资源?快使用搜索试试~ 我知道了~
首页Selenium介绍及原理解析.docx
Selenium介绍及原理解析.docx

Selenium是ThoughtWorks公司的一个强大的开源Web功能测试工具系列,采用Javascript来管理整个测试过程,包括读入测试套 件、执行测试和记录测试结果。它采用Javascript单元测试工具JSUnit为核心,模拟真实用户操作,包括浏览页面、点击链接、输入文字、提交表 单、触发鼠标事件等等,并且能够对页面结果进行种种验证。也就是说,只要在测试用例中把预期的用户行为与结果都描述出来,我们就得到了一个可以自动化运行 的功能测试套件。(Selenium的核心是Javascript写的,他和浏览器进行通信,把测试用例的信息发送给浏览器执行,从而达到自动化测试的目 的。)
资源详情
资源评论
资源推荐

一、什么是 Selenium?
Selenium 是 ThoughtWorks 公司的一个强大的开源 Web 功能测试工具系列,采用 Javascript
来管理整个测试过程,包括读入测试套 件、执行测试和记录测试结果。它采用 Javascript
单元测试工具 JSUnit 为核心,模拟真实用户操作,包括浏览页面、点击链接、输入文字、
提交表 单、触发鼠标事件等等,并且能够对页面结果进行种种验证。也就是说,只要在测
试用例中把预期的用户行为与结果都描述出来,我们就得到了一个可以自动化运行 的功能
测试套件。(Selenium 的核心是 Javascript 写的,他和浏览器进行通信,把测试用例的信息
发送给浏览器执行,从而达到自动化测试的目 的。)
Selenium 系列主要包括 4 中产品,如下:
1. Selenium Core
Selenium Core 是 Selenium 的核心,是有 Javascript 和 Html 文件组成的,它是 Selenium IDE
和 Selenium RC 的核心引擎。
2. Selenium IDE
Selenium IDE 提供了一个浏览器的插件模式,在浏览器的该插件的模式下,可以录制和运行
脚本。目前只支持 Firefox 一种浏览器插件。
3. Selenium Remote Control
Selenium RC 支持用程序预研编写测试用例,比如 Ruby、Java、C#等,这样做的好处是,可
以 Selenium 和其他测试框架集成,比如.NET 环境下,可以 把 Selenium 和 NUnit 集成,用
Selenium 来编写测试用例,用 NUnit 来实现测试用例的自动化运行。
Selenium RC 比其他包要大,主要包括以下几个部分:
A、Selenium Core
B、Selenium Server 运行时;
C、Selenium 提供的针对各种开发语言的类库。
Selenium Core 和 Selenium Server 运行时都是放在 Selenium-server.jar 中,Selenium RC 提供
的应用程序类库重要包括下面几种语言:
Java、Ruby、Php、Phthon、Perl、.NET。
4. Selenium Grid
Selenium Grid 是 Selenium 的一个扩展,也是开源的,他把管理一小撮 Selenium-RC 的事情

和为了运行一个测试而连接一个 SeleniumServer 的事情分开了,实际上,Selenium Grid 提
供了一个 hub,像个用于控制测试的远程控制器,但是是显示的将请求发送到一个或多个
机器上的某个有效的 Selenium-RC 实例上。
注意:Grid 只是提供了一个脚本运行的环境,至于脚本以什么样的方式去跑(并行的方式
或者是多环境的方式),要看脚本本身和和脚本的 Runner 的配置决定的。
二、选择合适的 Selenium 工具
既然 Selenium 工具有这么多,那么到底如何选择呢??
1. 需要远程安装
即是否需要在被测网站的服务器端安装,这里只有 Selenium Core 需要,因为出于浏览器的
同源策略的原因(同源策略后面会讲到),这个也是 Selenium Core 的一个限制,如果你要
测试 www.google.com 网站 , 那 你 还 需 要 在 google 网站的服务器上安装一个 Selenium
Core;
而 Selenium IDE 和 Selenium Core HTA 不会同源策略所限制,因为他们对浏览器扩展了。
Selenium RC 提供了一个代理服务器,保证了 Selenium JS 文件时来自同一个远程服务器的,
从而符合同源策略。
2. 将测试结果写到磁盘
只有 Selenium Core 不能将任何测试结果写到磁盘上(因为它是用 javascript 写的,它不允许
向磁盘写数据),其解决方案是当然你可以将测试结果发送到另外一台服务器保存。这也
是 Selenium Core 的一大限制。
OK,现在我们来研究下到底该使用哪款工具开展测试!
1.Selenium IDE 支持并且只支持 Firefox 浏览器,支持的浏览器太少,而依附于 Firefox 也不
便于日后开展自动化测试,但是,它的录制快捷好用!并且有代码 转换功能,可以把
Selenium 语言测试案例转为 C#,Java 等语言的测试案例,我建议使用 Selenium IDE + FireBug
进行测试案例的编写,然后转为其他语言的测试案例后,再调用 Selenium RC 运行测试案例。

2. Selenium Core,它的优点是编写测试案例简单,并且支持绝大多数的浏览器,但缺点也
同样明显,Selenium Core 需要远程安装,Selenese 语言也限制了复杂案例的可能性,并且
没有良好的外部扩展,这是些都会是致命的问题。因为一个款测试工具不可能 100%满足你
测试需求的,当它不能满足你测试需求时候,它必须有一个扩展机制可以让你可以使用其
他的方式满足你需求,否则这款测试软件即使功能强大,也 请三思慎用,否则当投入大量
资源后才发现某些问题不能解决,那时候已经晚了,这是我的切身体会。
3.Selenium RC 是我推荐使用的工具,它支持很多浏览器,可以使用 C#,Java 等语言编写测
试案例,易于维护,同时提供了很好的扩展性,所以后续的文档我会以 Selenium RC 作为默
认的测试工具。
三、Selenium RC 组成
下表一个简单的架构图:
Selenium RC 由两部分组成:
(1)Selenium Server
剩余10页未读,继续阅读

















wujinshan_28
- 粉丝: 7
- 资源: 89
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- ARM Cortex-A(armV7)编程手册V4.0.pdf
- ABB机器人保养总结解析.ppt
- 【超详细图解】菜鸡如何理解双向链表的python代码实现
- 常用网络命令的使用 ipconfig ping ARP FTP Netstat Route Tftp Tracert Telnet nslookup
- 基于单片机控制的DC-DC变换电路
- RS-232接口电路的ESD保护.pdf
- linux下用time(NULL)函数和localtime()获取当前时间的方法
- Openstack用户使用手册.docx
- KUKA KR 30 hA,KR 60 hA机器人产品手册.pdf
- Java programming with JNI
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论1