一 Selenium简介

一 Selenium发布的3个大版本的区别

     Selenium1.0

  

 

 

 

             Selenium1.0包括:Selenium IDE,Selenium Grid,Selenium RC三部分.
             Selenium IDE: Firefox的一个插件,可以录制和回放脚本.
             Selenium Grid:用于实现分布式测试,可以很方便地同时在多台机器上和异构环境中并行运行多个测试用例.
             Selenium RC :Selenium的核心部分,可以实现利用Selenium的代理服务器来访问浏览器实现自动化测试.Selenium RC分为
                                   Client(实现自动化脚本)和Selenium Server(负责控制浏览器的行为).Selenium Server又分为三部分:Launcher(启动浏览器),
                                   HTTP Proxy(Selenium Server的HTTP代理),Core(嵌入到浏览器的JS代码)

              selenium 1.0的运行流程

                 ①在运行测试脚本前必须先启动Selenium RC Server.

     ②Selenium RC Server扮演着浏览器和测试脚本直接通信的桥梁角色.

                 ③当开始运行测试脚本时,Selenium RC Server会将Selenium Core(js 代码)注入到浏览器中以达成控制浏览器.

                 ④一旦Selenium Core被注入到浏览器中,Selenium Core就会开始接收并转发来自Selenium RC Server的测试指令.

                 ⑤当测试指令接收后,Selenium Core就会把它们当做js来执行.

     ⑥浏览器按照Selenium Core的指令进行操作,并将执行结果返回给Selenium RC Server

     ⑦Selenium RC Server将接收到的结果返回给你的测试脚本.

     ⑧Selenium RC Server继续从你的测试脚本发送过来的指令中提取下一条指令,重复上述过程.

 Selenium2.0(WebServer)

 

 

                Selenium2.0,又名WebDiver.Selenium和WebDriver本是两个独立的项目,实现的机制也不同.在Selenium2.0中将两个项目合并了,新功能主要是集成了Selenium1.0和WebDriver.
                Selenium2.0 = Selenium1.0 + WebDriver.
                Selenium2.0提供另外的一种方式与浏览器交互.那就是利用浏览器原生的API,封装成一套更加面向对象的Selenium WebDriver API,直接操作浏览器页面里的元素,甚至操作浏览器本身(启动,关闭,截屏等).由于使用的是浏览器原生的API,速度与稳定性大大提高.然而带来的一些副作用就是,不同的浏览器厂商,对Web元素的操作多少会有一些差异,这就导致了Selenium WebDriver对不同的浏览器厂商提供不同的实现.

 

 

 Selenium3.0

               Selenium3.0在Selenium2.0的基础上有了更多的改进,支持的原生驱动方面更为丰富,并去掉了对Selenium RC的支持,在Selenium3.0中FireFox独立了,支持Mlzilla的geckdriver驱动,来驱动控制Firefox浏览器.Edge驱动由Microsoft提供.safari原生驱动由Apple提供。

 

 

 
 

posted on 2020-03-16 22:48  rwwh  阅读(104)  评论(0)    收藏  举报

导航