Selenium大家族介绍(selenium RC,selenium IDE, selenium Grid, selenium Webdriver)

Selenium

selenium 是当下非常流行的自动化测试框架,selenium是开源项目。

selenium是一个大家族,这个家族中的主要成员有如下所示:

Selenium大家族介绍(selenium RC,selenium IDE, selenium Grid, selenium Webdriver)_第1张图片

selenium RC:

selenim RC是selenium家族的核心,selenium RC支持多种不同的语言编写自动化测试脚本,通过seleniumRC的服务器作为代理服务器访问应用从而达到测试的目的。

Selenium大家族介绍(selenium RC,selenium IDE, selenium Grid, selenium Webdriver)_第2张图片

selenium RC 分为Client Libraries和selenium Server,Client Libraries库主要用于编写测试脚本,用来控制selenium Server的库,selenium Server有launcher、Http Proxy和Core组成。Launcher用于启动浏览器,把selnium Core加载到浏览器页面当中,并把浏览器的代理设置为Selenium Server 的Http Proxy。

selenium IDE:

selneium IDE 是 Selenium Suite下的开源Web自动化测试工具,selenium IDE可作为浏览器插件进行安装,它无需使用任何编程逻辑来编写测试基本,而只需记录与浏览器的交互以创建测试用例。 之后,可以使用播放选项重新运行测试用例。

selenium IDE 工具如图所示:

Selenium大家族介绍(selenium RC,selenium IDE, selenium Grid, selenium Webdriver)_第3张图片

selenium Grid:

selenium Grid是一种自动化测试辅助工具,通过利用现有的计算机基础设施,能加快Web-app的功能测试,利用Grid,可以很方便同时在多台机器上和异构环境中并行运行多个测试事例。其特点是:

  • 并行执行
  • 通过一个主机控制用例在不同环境、不同浏览器下运行
  • 灵活添加变动测试机

selenium Webdriver:

selenium Webdriver 是selenium2.0之后的核心,Webdriver通过原生浏览器支持或者浏览器扩展直接控制浏览器。webdriver针对各个浏览器而开发,取代了嵌入到被测Web应用中的JavaScript。与浏览器的紧密集成支持创建更高级的测试,避免了JavaScript安全模式导致的限制。除了来自浏览器厂商的支持,webdriver还利用操作系统级的调用模拟用户输入。

使用webdriver需要给浏览器安装驱动,chrome浏览器驱动是chromedriver,IE浏览器驱动是IEDriver,firefox浏览器驱动是geckodriver,其中浏览器与驱动有对应的版本要求。

selenium2.0以上支持多语言的测试脚本编写,因为使用webdriver,webdriver是基于JSON Wire Protocol协议,JSON Wire protocol是在http协议基础上,对http请求及响应的body部分的数据的进一步规范。在WebDriver中请求报文和响应报文数据都是以JSON的形式存在并进行传送的,所以在Client和Server之间,只要是基于JSON Wire Protocol来传递数据,就与具体的脚本语言无关了,这样同一个浏览器的驱动就即可以处理Java语言的脚本,也可以处理Python语言的脚本。

 

你可能感兴趣的:(自动化测试,python自动化测试,selenium)