美文网首页UI自动化
UI自动化(二)selenium底层原理

UI自动化(二)selenium底层原理

作者: 社会主义顶梁鹿 | 来源:发表于2021-01-08 18:09 被阅读0次

    selenium1.x:这个时候的selenium,使用的是JavaScript注入技术与浏览器打交道。

    需要Selenium RC启动一个Server,将操作Web元素的API调用转化为一段段Javascript,在Selenium内核启动浏览器之后注入这段Javascript。

    Javascript可以获取并调用DOM的任何元素,自如的进行操作。

    由此才实现了Selenium的目的:自动化Web操作。

    这种Javascript注入技术的缺点是速度不理想,而且稳定性大大依赖于Selenium内核对API翻译成的Javascript质量高低。

    selenium2.x:相比于selenium1.x,2.x版本整合了webdriver以及原版selenium。

    两个项目合二为一,虽然名字还叫selenium,但也可以叫Webdriver。

    这个版本的selenium是利用浏览器原生的API,封装成一套更加面向对象的Selenium WebDriver API。

    直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的)。

    由于使用的是浏览器原生的API,速度大大提高,而且调用的稳定性交给了浏览器厂商本身,显然是更加科学。

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

    selenium3.x:相比于selenium1.x,2.x版本有了更新的特性加入。

    对Edge和safari原生驱动的支持,Edge驱动由MS提供,safari原生驱动由Apple提供。

    在最新的Firefox方面,开始支持Mlzilla的geckodriver驱动,来驱动Firefox的控制。

    selenium3.0可以支持firefox47以上版本,但是许要下载geckodriver.exe驱动,并添加到环境变量path下。

    相关文章

      网友评论

        本文标题:UI自动化(二)selenium底层原理

        本文链接:https://www.haomeiwen.com/subject/tjbfaktx.html