selenium框架简介

Posted duoduok

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium框架简介相关的知识,希望对你有一定的参考价值。

selenium框架是目前基于web自动化的开源自动化工具。它能提供一系列函数,自动化模拟浏览器的各式各样的操作。

1,支持多浏览器:firefox,chrome,IE,Safari等

2,支持多种脚本语言:php,python,java,c#,ruby等

3,支持多操作系统:linux,iosandroid,windows

以下为selenium suite的结构简图:

 

1,selenium IDE。其实是firefox浏览器上的一个插件,支持通过界面进行录制,并将录制内容翻译成自动化测试脚本(使用selenium的一系列函数)。对没有编程经验的人来说,可以不需要手写具体脚本。

目前使用较少。

2,selenium RC作为框架中的核心部分,支持许多语言的自动化测试脚本。并通过自身的服务器去调用代理服务器执行浏览器操作。

  • SeleniumRC分为ClientLibrariesSeleniumServer
  • ClientLibraries主要封装了调用SeleniumServer库方法的方法函数,便于脚本编写。
  • SeleniumServer引用了SeleniumRemoteServer这样一个代理服务器。SeleniumServer分为 Launcher,Http Proxy,Core(本质上就是一个JS函数集合)。javascript脚本注入和 与远程Server通讯都通过SeleniumRC Server实现。

Selenium RC使用的是JavaScript注入技术与浏览器打交道,需要Selenium RC启动一个Server,将操作Web元素的API调用转化为一段段Javascript,在Selenium内核启动浏览器之后注入这段Javascript。这种Javascript注入技术的缺点是速度不理想,而且稳定性大大依赖于Selenium内核对API翻译成的Javascript质量高低。

3,Webdriver  它提供了完全另外的一种方式与浏览器交互。那就是利用浏览器原生的API,封装成一套更加面向对象的SeleniumWebDriver API,直接操作浏览器页面里的元素。由于使用的是浏览器原生的API,速度大大提高,而且调用的稳定性交给了浏览器厂商本身,显然是更加科学。

然而带来的一些副作用就是,不同的浏览器厂商,对Web元素的操作和呈现多少会有一些差异,这就直接导致了Selenium WebDriver要分浏览器厂商不同,而提供不同的实现。例如Firefox就有专门的FirefoxDriver,Chrome就有专门的ChromeDriver等等。

 

以上是关于selenium框架简介的主要内容,如果未能解决你的问题,请参考以下文章

selenium的多层框架定位

Selenium自动化测试框架-01

selenium webdriver简介

Python3+Selenium2完整的自动化测试实现之旅:自动化测试框架Python面向对象以及POM设计模型简介

python+selenium+unittest测试框架1-unittest单元测试框架和断言

《一头扎进》系列之Python+Selenium框架设计篇3- 价值好几K的框架,狼来了,狼来了....,狼没来,框架真的来了