初探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
原创粉丝点击