初探Selenium
来源:互联网 发布:软件设计师教程图片 编辑:程序博客网 时间:2024/06/08 10:02
1 什么是Selenium?
Selenium automates browsers. 它可以让基于web的应用测试自动化,也可以让一些基于web的管理自动化。
2 Selenium的四大项目
- Selenium WebDriver(Selenium 2.0 )
Selenium WebDriver能够通过原生浏览器的支持来控制本地的或者远程的browser。 - Selenium Grid
Selenium Grid通过扩展Selenium Remote Control,可以并行在多台server上面运行测试用例。 - Selenium IDE
Selenium IDE是基于Firefox的插件,可以简单的录制和回放测试脚本。 - Selenium Remote Control(Selenium 1.0 )
Selenium RC是基于Client/Server的系统,允许控制本地的远程的计算机。
2.1 Selenium RC原理
Selenium RC包括两部分:- Selenium服务器:负责启动和关闭浏览器,扮演着HTTP代理的角色,截获和验证在浏览器和被测试应用程序之前的HTTP消息。- Selenium客户端:提供各种编程语言与Selenium RC服务器之间的接口当测试程序打开浏览器的时候,Selenium RC服务器会将Selenium Core注入到浏览器中。
Selenium Core是JavaScript程序,用于调用浏览器内置的JavaScript解释器,以解释和执行从测试程序传来的Selenese命令。
该服务器也可以接受来自测试程序的HTTP GET/POST请求的Selenese命令。
2.2 Selenium WebDriver原理
Selenium WebDriver是针对各个浏览器而开发的,是通过原生浏览器支持或者浏览器扩展而直接控制浏览器。
2.3 Selenium RC和Selenium WebDriver对比
- WebDriver提供一套友好的API,更加容易理解和使用,可读性和可维护性大大提高- WebDriver不需要启动其它进程或安装其它程序,不需要想RC需要先启动服务- 二者技术方案不同。RC是采用注入Javascript方式,WebDriver是基于浏览器原生支持,避免了JavaScript安全模型的限制。所以他们支持的browser情况也不一样。- WebDriver采用面向对象的编程,而RC其编程方式更像是面向过程的
3 Selenium第三方Driver和Plugin
- ChromeDriver - WebDriver for Chrome :https://sites.google.com/a/chromium.org/chromedriver/
利用ChromeDriver提供的原生接口,WebDriver可以控制Chrome浏览器 - Appium : http://appium.io/
Appium可以使用 Selenium提供的方法来对Browser进行自动化 - Others :Selenium IDE Plugins
注意:这些第三方的插件都不是由Selenium来开发和维护的。
4 Reference
- http://www.seleniumhq.org/projects/
- http://www.seleniumhq.org/download/
0 0
- 初探Selenium
- selenium初探
- 自动化测试工具selenium初探
- selenium初探:Python+selenium实现QQ空间自动点赞
- Selenium
- Selenium
- Selenium
- selenium
- Selenium
- Selenium
- selenium
- selenium
- Selenium
- selenium
- Selenium
- Selenium
- Selenium
- Selenium
- java JTable 动态拉取数据显示及自动刷新
- Android Studio进行单元测试
- 第十周-自建算法库--二叉树的链式存储及基本运算
- Android事件总线纷发库EventBus的使用方法
- 第十周--项目二--二叉树遍历的递归算法
- 初探Selenium
- onRebind调用时机
- Java语言基础之抽象类
- css选择器以及权重问题
- 第十周项目3-利用二叉树遍历思想解决问题
- Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决
- 两千块钱的爱
- PHP和JS的数据交互
- 字符串全排列问题二