首页 > 技术文章 > Selenium面试题2-Selenium工作原理

all-best98 2021-08-03 13:54 原文

一、Selenium1.x时期主要使用Selenium RC(Selenium Remote Control)进来自动化测试。

 1、Selenium RC分为:

(1)Selenium Server   负责控制浏览器行为

(2)Client Libraries      写测试用例时用来控制Selenium Server的库,测试用例通过调用Client Libraries来编写相关的代码。

 

   2、Selenium RC工作原理:

   

   3、自动化测试的过程是:

 Selenium RC启动一个Selenium Server,将操作web元素的API调用转化为一段段Javascript。
    在Selenium内核启动浏览器之后注入这段Javascript函数即Selenium Core,通过这些Javascript函数,我们才可以实现用程序对浏览器进行操作。

   4、Selenium RC的缺点:

    (1)不能处理本机键盘和鼠标事件   

    (2)不能处理弹出框、对话框 

    (3)Selenium RC使用Javascript注入技术,速度不够理想,稳定性大大依赖于Selenium内核对API翻译成的Javascript质量高低

 

二、Selenium2.x集成了Selenium和WebDriver的功能

1、Selenium2.x = Selenium1.x + WebDriver

     所以,Selenium 2.0,又称 Selenium WebDriver。其原理是:使用浏览器原生的 WebDriver 实现页面操作

2、想要使用Selenium实现自动化测试,主要需要三个东西。

  · 测试代码: 自动化测试代码发送请求给浏览器的驱动(Webdriver)

  · Webdriver :解析这些自动化测试的代码,解析后把它们发送给浏览器

  · 浏览器: 执行浏览器驱动发来的指令,并最终完成工程师想要的操作

3、Webdriver优缺点:

      优点:WebDriver提供了另外一种方式与浏览器进行交互。那就是利用浏览器原生的API,封装成一套更加面向对象的Selenium WebDriver API,

                 直接操作浏览器页面里的元素,甚至操作浏览器本身,由于使用的是浏览器的原生API,速度大大提高。

      缺点:不同的浏览器,对Web元素的操作和呈现存在不同程度的差异,实现方式不同。比如Chrome有专门的ChromeDriver,Firefox有FirefoxDriver等等

4、工作流程:

 

 通俗一点的理解,可看下图:

 

推荐阅读